前提・実現したいこと
ファイルアップロードボタンを押した後にdbに名前、ファイルパス、タイプを保存し
そこからimg srcに表示したいです。
該当のソースコード
<?php $dsn = 'mysql:dbname=photo;host=localhost'; $user = '*****'; $password = '****'; $PDO = new PDO($dsn, $user, $password); if ($_SERVER['REQUEST_METHOD'] != 'POST') { // 画像を取得 $sql = 'SELECT * FROM photo'; $stmt = $PDO->prepare($sql); $stmt->execute(); $images = $stmt->fetchAll(); } else { // 画像を保存 if (!empty($_FILES['image']['name'])) { $name = $_FILES['image']['name']; } } ?> <form class="forml" name="forml" id="forml" method="post" action="functions.php" enctype="multipart/form-data"> <div class="flex box1"> <p><img id= "preview" src="<?php echo $name;?>"></p> <P><img src="img/img002.jpg"></P> <P><img src="img/img003.jpg"></P> </div> <div class="flex box2"> <p><img src="img/img004.jpg" ></p> <p><img src="img/img005.jpg" ></p> <p><img src="img/img006.jpg" ></p> <p><img src="img/img007.jpg" ></p> <p><img src="img/img008.jpg" ></p> </div> <div class="foot"> <P><img src="img/img009.jpg" ></p> </div> <div class="foot-text"> CSSによる画像サイズの<br> 変更、画面レイアウトの<br> 調整を行うページ </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();"> </div> </form> </div> </div> <script> function setImage(target) { var reader = new FileReader(); reader.onload = function (e) { document.getElementById("preview").setAttribute('src', e.target.result); } reader.readAsDataURL(target.files[0]); }; </script> </body>
<?php header('Location: http://localhost/galleries.php'); $id = $_GET['id']; $dsn = 'mysql:dbname=photo;host=localhost'; $user = ''; $password = ''; $PDO = new PDO($dsn, $user, $password); if ($_SERVER['REQUEST_METHOD'] != 'POST') { } else { var_dump($_FILES); if (!empty($_FILES['image']['name'])) { $name = $_FILES['image']['name']; $file_pass = "C:/xampp/htdocs/img"; $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_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); ?>