サーバーに画像をアップロード→mysqlでDBに画像のバイナリデータを格納、という処理をしようとしています。
処理は下記のような形です。
php
1header("Content-Type: text/html; charset=UTF-8"); 2 $dsn = array("dsn" => "mysql:dbname=hoge;host=localhost;charset=utf8", 3 "db_user" => "hoge", 4 "db_pass" => "hogehoge" 5 ); 6$sql_insert = 'INSERT INTO save_img SET img = ?'; 7 8//$filesdirで指定したファイルに画像を保存する。 9if (is_uploaded_file($_FILES["check_img"]["tmp_name"])) { 10 if (move_uploaded_file($_FILES["check_img"]["tmp_name"], "files/" . $_FILES["check_img"]["name"])) { 11 chmod("files/" . $_FILES["check_img"]["name"], 0644); 12 echo $_FILES["check_img"]["name"] . "をアップロードしました。"; 13 } else { 14 echo "ファイルをアップロードできません。"; 15 } 16} else { 17 echo "ファイルが選択されていません。"; 18} 19echo $_FILES["check_img"]["tmp_name"]; 20$post_img = file_get_contents($_FILES["check_img"]["tmp_name"]); 21echo $post_img; 22if($post_img){ 23 echo "file_get_contents成功"; 24}else{ 25 echo "file_get_contents失敗"; 26} 27 28$path_parts = pathinfo($_FILES["check_img"]["tmp_name"]); 29print_r($path_parts); 30 31/* statement handler 32 $sqlの?の部分に$trigをバインド 33 bindValue(num,$val,valの型)のnum個目の?にバインドする */ 34$stmh_insert = $dbh->prepare($sql_insert); 35$stmh_insert->bindValue(1,$post_img,PDO::PARAM_STR); 36//$stmh_insert->execute(); 37 38
これの、
php
1$post_img = file_get_contents($_FILES["check_img"]["tmp_name"]); 2echo $post_img; 3if($post_img){ 4 echo "file_get_contents成功"; 5}else{ 6 echo "file_get_contents失敗"; 7}
上記の部分が失敗になります。
php
1$_FILES["check_img"]["tmp_name"]
は出力ができるのですが、このエラーで考えられる原因はどのようなものがありますでしょうか。
ご教示頂けますと幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/07 08:50