• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPでDBとディレクトリへの画像データ登録方法)

PHPでDBとディレクトリへの画像データ登録方法

このQ&Aのポイント
  • PHP初心者のため、画像データの登録方法について質問します。画像投稿画面を作成し、画像をDBとディレクトリに保存する方法を教えてください。
  • 作成したソースコードでは、画像ファイル名がDBとディレクトリに保存されません。どうすれば正しく保存できるのかアドバイスをいただきたいです。
  • また、投稿する際には画像のエラーチェックも行っており、拡張子が.jpgでない場合にはエラーメッセージが表示されます。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

ゴメン、ソースは熟読してねーです。 でも見たトコ、受け取ったIMAGEファイルをそのままDBに突っ込んでいるように見受けられます。 DBのフィールドに入れる値は基本的にASCII値ですから、画像(IMAGE)のようなバイナリ値を入れると期待通り動いてくれないとです。 ならば話は簡単、DBに入れる前にバイナリ値をASCII値にして格納し、取り出した時はASCII値をバイナリ値に変換してあげれば良いのです。 そこで登場するのがPHPの関数、base64_encodeとbase64_decode。 DBに格納する時は base64_encode( $_POST['image'] ) でASCII値に変換したものを格納して、 取り出す時は base64_decode( $row['image'] ) でバイナリ値に戻してあげましょう。 DBの種類によっては、バイナリ値を直接叩き込めるBLOB型を使う方法もあるんですが…申し訳ないけど此方に関しては当方あまり知識を持ち合わせていないので調べてみてくださいませ。

shunnsuke0620
質問者

お礼

有難うございます。 base64_encode、頭の片隅にあったはずが忘れてました。 ディレクトリのほうは場所の問題だったので解決です。 どうもありがとうございました!!

すると、全ての回答が全文表示されます。

関連するQ&A