みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

PHP+MYSQLの画像の書き込み

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

投稿日時 - 2009-11-14 00:31:15

QNo.5446064

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

ANo.1です。

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

投稿日時 - 2009-11-14 16:52:50

補足

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

投稿日時 - 2009-11-14 18:42:55

お礼

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

投稿日時 - 2009-11-14 20:01:21

ANo.2

ANo.1です。

>わかりません。。
マニュアルを見てどこが不明でしたか?
それとも何も得られませんでしたか?
何を試してみましたか?
何がうまくいきませんでしたか?

出力ができたから入力もできるということでもないですよ。

投稿日時 - 2009-11-14 15:21:29

補足

んーバイナリファイルはテキストと違いただ変数に格納するけでは
だめなのですか?以下の事をためしましたがだめでした。
'upfile'はinputのnameです。

$fp = fopen($_FILES["upfile"]["tmp_name"], "rb");
$imgdat = fread($fp, filesize($_FILES["upfile"]["tmp_name"]));
fclose($fp);

投稿日時 - 2009-11-14 15:54:24

ANo.1

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

投稿日時 - 2009-11-14 07:39:00

補足

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

投稿日時 - 2009-11-14 13:32:45

あなたにオススメの質問