phpでmysqlに保存した画像を取り出して表示するプログラムを作っています。
ですが、実行しても”~~~の画像は壊れています”と出て出力することができません
ご指摘いただければと思います。
###発生している問題・エラーメッセージ
画像ファイル~~~~は壊れているため表示できませんでした ###該当のソースコード <?php /////////////////////////////////////////////////////////////////////// $user = ''; $pass = ''; $pdo = new PDO('mysql:', $user, $pass); /////////////////////////////////////////////////////////////////////// $date = $_REQUEST["date"];//送られてきた変数(どこの投稿の画像か判別) $sql = "SELECT * FROM KEIJIBAN"; $pdh = $pdo->query($sql); foreach($pdh as $keiji) { if($_REQUEST == $keiji['date']) { $img = $keiji['imag_file']; } } header("Content-Type: image/png"); echo $img; ?> 追記: /////変数の設定 $name = $wow[2]; $comment = $_POST['comment']; $date = date("Y/m/d H:i:s", time()); $img = file_get_contents($_['imag_file']);//別フォームから送られてきたファイルが入っています $img = mysql_real_escape_string($img); /////INSERT部分 $sql = "INSERT INTO KEIJIBAN2(name,comment,date,imag_file,video_file)VALUES(:name,:comment,:date,:imag_file,:video_file)"; $stmt = $pdo->prepare($sql); $params = array(':name' => "$name",':comment' => "$comment",':date' => "$date",':imag_file' => "$imag",':video_file' => "$video_file"); $stmt -> execute($params); ###試したこと ネットにあった記述をいろいろ 別のサンプル画像を入れてみる header関数を消してみる→ちゃんと画像ファイルとして入っている? DBを作りなおしてみる dateはちゃんと表示されます ###補足情報(言語/FW/ツール等のバージョンなど) 取り出し先のDB構成です (name VARCHAR(32), comment VARCHAR(100), date CHAR(32), imag_file BINARY(255), video_file BINARY(255))'; 格納している画像は、208バイトのpngファイルです
回答3件
あなたの回答
tips
プレビュー