• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:HTTP_Requestで画像ファイルを取得、保存)

HTTP_Requestで画像ファイルを取得、保存

このQ&Aのポイント
  • PHPでHTTP_Requestを使用して画像ファイルを取得、保存する方法に関して相談しています。
  • 現在、画像ファイルのアドレスをHTTP_Requestに渡し、指定したフォルダに保存するコードを書いていますが、うまく動かずエラーが出てしまいます。
  • エラーメッセージによると、filesize()関数やfread()関数、fclose()関数の引数に無効なストリームリソースが渡されているようです。原因や解決方法についてアドバイスをいただきたいです。

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

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

PEARのHTTP_Requestを使ったことはありませんが、いくつかあやしい部分があるのでそこを書きます。 まず、 $read_fp = @fopen($pic,"r"); の部分ですが、fopen関数の第一引数はファイル名なので$picにファイルデータが格納されているとすると、これでは$pic(の内容)の名前のファイルをオープンするのでおそらく期待しているであろう処理にはならないでしょう。 それから $write_fp= @fopen("保存先パス","w+"); は、ファイルは画像ファイルということなのでオプションはw+ではなくwbが妥当でしょう。 長ったらしく書いてしまいましたが、$picの内容をそのままfwriteで書き込めば終わりだと思うので、もっと簡潔な処理にできると思います。

maru_n
質問者

お礼

おおーなるほど。 名前のパラメータに、ファイル本体を突っ込んでたのが不味かった んですね。 ご指摘頂いた箇所を修正することで、期待通りの動作を得られました。 あと、bフラグを初めて知りました。マニュアルをよく読むと書いてありますね。 phpの理解が進みました。 ありがとうございます。

関連するQ&A