前提・実現したいこと
画像アップロードページを作成しているのですが、.png の画像ファイルが表示されません。(jpgはされます)
DBに保存してデベロッパツール(?)でimg srcの部分にアップロードするところまではできています。
原因がわからないので教えていただきたいです。
発生している問題・エラーメッセージ
GET http://localhost/img/test.png 404 (Not Found)
該当のソースコード
<?php $dsn = 'mysql:dbname=photo;host=localhost'; $user = ''; $password = ''; try { $dbh = new PDO($dsn, $user, $password); } catch (PDOException $e) { echo 'データベースにアクセスできません!' . $e->getMessage(); exit; } $sql = "SELECT name FROM photo ORDER BY id "; $stmt = $dbh->query($sql); foreach ($stmt as $row) { $result = "img/".$row['name']; } ?> <!-- メインコンテンツ --> <div id="main" class="clearfix"> <div id="detail"> <div class="article"> </div> <h2>ギャラリー</h2> <form class="forml" name="forml" id="forml" method="post" action="functions.php" enctype="multipart/form-data"> <div class="flex box1"> <p><img src=<?php echo($result)?>></p> <P><img src="img/img002.jpg"></P> <P><img src="img/img003.jpg"></P> </div> <div> <input type="file" name="image" id="myImage" accept="image/*" onchange="setImage(this);" onclick="this.value = '';"> <input type="submit" name="go" value="送信" onclick="return check();">
<?php header('Location: http://localhost/galleries.php'); $id = isset($_GET['id']) ? $_GET['id'] : ''; $dsn = 'mysql:dbname=photo;host=localhost'; $user = ''; $password = ''; $PDO = new PDO($dsn, $user, $password); var_dump($_FILES); $_FILES['image']['name'] ; $name = $_FILES['image']['name']; $file_pass = "C:/xampp/htdocs/img/$name"; $type = $_FILES['image']['type']; $sql = "INSERT INTO photo (name, type, filepass, created) VALUES (:image_name, :image_type, :image_filepass, NOW())"; $stmt = $PDO->prepare($sql); var_dump($sql); //$params = array(':id' => '', ':name' => $name, 'type' => $type); // $stmt->bindValue(':image_id', (int)$_GET['id'], PDO::PARAM_INT); $stmt->bindValue(':image_name', $name, PDO::PARAM_STR); $stmt->bindValue(':image_filepass', $file_pass, PDO::PARAM_STR); $stmt->bindValue(':image_type', $type, PDO::PARAM_STR); $stmt->execute(); unset($PDO); ?>
回答1件
あなたの回答
tips
プレビュー