画像がディレクトリに保存されない
現在簡易的な掲示板を作成しております。そこで会員登録でプロフィール画像を登録できるようにしたいのですがディレクトリに画像ファイルを保存することができません、3日ほど考え調べたのですが解決できなかったため質問しました。
実行しようとしている事
登録->確認->登録確認(DB保存)
会員登録formから画像フォルダの選択があったさいに、画像のアップロードの処理を行い,画像ファイルのパスをDBに保存、画像自体は別ディレクトリ(image)を作成し保存するように考えております。画像のファイル選択がなければ未登録とされる
現状,ファイル選択を行っているのですが画像がディレクトリに保存されない、未登録となってしまう。
どなたかご教授して頂けると嬉しいです。
<?php 2 session_start(); 3 if (!empty($_POST)) { 4 ^ //プロフィル画像が選択された時の処理 5 ^ if (isset($_FILES['image']['name'])) { 6 ^ ^ $type = exif_imagetype($_FILES['image']['tmp_name']); 7 ^ ^ if (!isset($_FILES['image']['error']) || is_int($_FILES['image']['error'])) { 8 ^ ^ ^ $errors['image'] = 'パラメーターが不正です'; 9 ^ ^ } elseif ($_FILES['image']['errors'] > 0) { 10 ^ ^ ^ $errors['image'] = 'アップロードできませんでした。'; 11 ^ ^ } elseif (!in_array($type, [IMAGETYPE_JPEG, IMAGETYPE_PNG, IMAGETYPE_GIF], true)) { 12 ^ ^ ^ $errors['image'] = 'ファイルの形式が未対応です'; 13 ^ ^ } else { 14 ^ ^ ^ $image = sha1_file($_FILES['image']['name']); 15 ^ ^ ^ $image = '.' . substr($_FILES['image']['name'], -3); 16 ^ ^ ^ move_uploaded_file($_FILES['image']['tmp_name'], './image/' . $image); 17 ^ ^ } 18 ^ } else { 19 ^ ^ $image = '未登録'; 20 ^ } 21 22 ^ if (empty($errors)) { 23 ^ ^ $_SESSION['image'] = $image; 24 ^ ^ header('Location: check.php'); 25 ^ ^ exit(); 26 ^ } 27 } 28 29 ?> 30 <!DOCTYPE html> 31 <html lang="ja"> 32 <head> 33 <meta charset="utf-8"> 34 <title></title> 35 </head> 36 <body> 37 <h2>新規登録</h2> 38 <form action='' method='POST' enctype='multipart/form-date'> 39 <p>プロフィール画像<input type='file' name='image'></p> 40 <?php if (!empty($errors['image'])): ?> 41 <p><?php echo $errors['image']; ?></p> 42 <?php endif; ?> 43 <p> 44 <input type='submit' value='送信'> 45 </form> 46 </body> 47 </html>
実際には名前、メール、パスワードの入力欄もありますが、この度は画像アップロードの処理だけを記載しております。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。