ファイル名をデータベースに保存する方法
アップロード画面からファイルを特定のディレクトリに移動して、同時にファイル名をデータベースに保存したいのですが、
画像は指定したディレクトリに保存はされますが、ファイル名がデータベースに保存できておりません。
ご教授いただければ幸いです。
※現段階ではバリデーションは無くて大丈夫です。
HTML
1 <form action="upimg.php" method="POST" enctype="multipart/form-data"> 2 <input type="file" name="image"> 3 <input type="submit" value="アップロード"> 4 </form>
PHP
1$file = $_FILES['image']['name']; 2 3try{ 4 $dsn = "sqlite:C:/xampp/htdocs/image.db"; 5}catch(Exception $e){ 6 echo "データベースに接続できませんでした。"; 7 exit(); 8} 9 10if(!empty($_FILES['image']['tmp_name'])){ 11 move_uploaded_file($_FILES['image']['tmp_name'], "./upload/$file"); 12 $dsn->query("INSERT INTO image(path) VALUES('$file')"); 13}else{ 14 echo "画像が選択されていません。"; 15}
データベースは以下の構成です。
SQLite
id(int) , path(text)
エラー表示
Fatal error: Uncaught Error: Call to a member function query() on string in C:\xampp\htdocs\image\upimg.php:14 Stack trace: #0 {main} thrown in C:\xampp\htdocs\image\upimg.php on line 14
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー