実現したいこと
画像名をMySqlに保存し、目的の画像を出力したい。
ファイル名の保存はできていたのですが画像の保存ができず、詰まってしまい、いじっているうちにファイル名をMySqlに保存することすらできなくなってしまいました。。。
ご助力いただけないでしょうか。。
考えた処理順
form内のinputタグでファイルをアップロード→is_uploaded_fileでファイルアップロードイベントを検知→ファイルの拡張子確認→move_uploaded_fileにてファイルを保存→ファイル名をMySqlに保存→<img src="../picture/<?php echo $user['picture'] ?>">で出力
コード
PHP
1<?php 2session_start(); 3require('../dbconnect.php'); 4require('../function.php'); 5 6//会委員IDと名前取得 7if (isset($_SESSION['join']['user_id'])) { 8$users = $db->prepare('SELECT user.* FROM user WHERE user_id=?'); 9$users->execute(array($_SESSION['join']['user_id'])); 10$user = $users->fetch(); 11}else{ 12$error['join'] = 'error'; 13} 14 15//商品情報取得 16if (isset($user['user_id'])) { 17 $objects = $db->prepare('SELECT * FROM purchase WHERE user_id=?'); 18 $objects->execute(array($_SESSION['join']['user_id'])); 19} 20//画像アップロード 21 if (is_uploaded_file($_FILES["image"]["name"])) { 22 $fileName = $_FILES["image"]["name"]; 23 $ext = substr($fileName,-3); 24 if ($ext != 'jpg' && $ext != 'gif') { 25 $image = date('YmdHis').$_FILES["image"]["name"]; 26 move_uploaded_file($_FILES["image"]["name"],'../picture'); 27 $set_object = $db->prepare("UPDATE user SET picture= :picture WHERE user_id=:user_id"); 28 $set_object->execute(array( 29 ':picture' => $image, 30 ':user_id' => $_SESSION['join']['user_id'] 31 )); 32 }else{ 33 $error['image'] = 'differenttype'; 34 } 35} 36 ?> 37 38 <!DOCTYPE html> 39 <html lang="ja" dir="ltr"> 40 <head> 41 <meta charset="utf-8"> 42 <title></title> 43 </head> 44 <body> 45 <p><a href="index.php">トップページ</a></p> 46 <?php if($error['join'] !== 'error'): ?> 47 48 <p><img src="../picture/<?php echo $user['picture'] ?>"></p> 49 <p>ユーザー名</p> 50 <p><?php echo $user['name'] ?></p> 51 <p>ユーザーID</p> 52 <p><?php echo $user['user_id'] ?></p> 53 <?php if(!empty($error['image'])): ?> 54 <p>画像の形式が正しくありませn。</p> 55 <?php endif ; ?> 56 <p><?php echo $user['login'] ?></p> 57 <form class="" action="" method="post" enctype="multipart/form-data"> 58 <input type="file" name="" value=""> 59 <input type="submit" name="upload" value="画像を送信する"> 60 </form> 61 <?php else: ?> 62 <p><a href="../join/login.php">ログインしてください</a></p> 63 <?php endif; ?> 64<hr> 65 <h1>出品した商品</h1> 66 <?php if($error['join'] !== 'error'): ?> 67 <?php foreach ($objects as $object): ?> 68 <div class=""> 69 <?php if (empty($object['picture'])): ?> 70 <img src="../picture/no_image.png"> 71 <?php endif; ?> 72 <dt><p><a href="indicate_purchase.php?id=<?php echo $object['id'] ?>"><?php echo $object['purchase_name'] ?></a></p></dt> 73 <dd><p>¥<?php echo $object['price']?>円</p></dd> 74 <dd><p>在庫数<?php echo $object['stock']?>個</p></dd> 75 </div> 76 <hr> 77 <?php endforeach; ?> 78 <?php endif; ?> 79 </body> 80 </html> 81
環境
XAMPP