• 締切済み

PHP+MYSQLの画像の書き込み

PHPでMYSQLにblob型へJPGを格納したいのですが、<INPUT type="file" name="file">でPOSTしたのを insert文で$_POST['file']で書き込んでもMYSQLのテーブルを見ても書き込まれていません。 base64でエンコードしないとだめなのでしょうか? 簡単なサンプルが知りたいです。

みんなの回答

  • UmJammer
  • ベストアンサー率58% (115/196)
回答No.3

ANo.1です。 バイナリデータを変数に格納するところは問題なさそうですね。 あとは入力する際に何かしらエスケープを噛ましておけば大丈夫だと思うのですが。 どういった問題が発生していますか?

devid
質問者

お礼

もう少しらしいので勉強して分からなければまた質問します。 ありがとうございます。

devid
質問者

補足

これでいいんですか?? 実行する毎にblobには0バイトでオートインデックスが増えていっています。$_FILES["upfile"]["tmp_name"]のtmp_nameは固定なのですか?

  • UmJammer
  • ベストアンサー率58% (115/196)
回答No.2

ANo.1です。 >わかりません。。 マニュアルを見てどこが不明でしたか? それとも何も得られませんでしたか? 何を試してみましたか? 何がうまくいきませんでしたか? 出力ができたから入力もできるということでもないですよ。

devid
質問者

補足

んーバイナリファイルはテキストと違いただ変数に格納するけでは だめなのですか?以下の事をためしましたがだめでした。 'upfile'はinputのnameです。 $fp = fopen($_FILES["upfile"]["tmp_name"], "rb"); $imgdat = fread($fp, filesize($_FILES["upfile"]["tmp_name"])); fclose($fp);

  • UmJammer
  • ベストアンサー率58% (115/196)
回答No.1

とりあえずマニュアルに目を通しておきましょう。 http://www.php.net/manual/ja/features.file-upload.post-method.php

devid
質問者

補足

わかりません。。 $_FILESをなんとかしろということでしょうか? phpmyadminから入れた画像を 読み出すときはヘッダー+print ($row['image']); のみで表示できたのですが、PHPで書き込みが分かりません。

関連するQ&A