HTTP_Requestで画像ファイルを取得、保存
こんばんわ。
php_pearの/HTTP_Request/について質問させて下さい。
下のコードのように、画像ファイルのアドレスをHTTP_Requestへ渡して
$picへ格納し、fopen以下でサーバーの指定フォルダへ保存
という内容のコードを書いたのですが、巧く動かずエラーが出てしまいます。
$picで受け取るデータに問題があるのではと推測して、その線で調べてはみたのですが、
どうもハッキリとしません。
何が原因で、どうすれば正常に動くのかをアドバイスして頂けないでしょうか。
宜しくお願いします。
~~~~~~~~~~~~~略~~~~~~~~~~~~~~~
$req =& new HTTP_Request("画像のアドレス",$option);
$req->addHeader("User-Agent", "My PEAR PROGRAM");
$req->addHeader("Referer", "http://www.yahoo.co.jp/");
if (!PEAR::isError($req->sendRequest())) {
//$picへ画像ファイルを格納//
$pic = $req->getResponseBody();
$read_fp = @fopen($pic,"r");
$write_fp= @fopen("保存先パス","w+");
while($line=fread($read_fp,filesize($pic))){
fwrite($write_fp,$line);
}
fclose($read_fp);
fclose($write_fp);
}
=====================エラーメッセージ=======================
Warning: filesize() [function.filesize]: stat failed for yOya
Warning: fread(): supplied argument is not a valid stream resource
Warning: fclose(): supplied argument is not a valid stream resource
=====================システム情報補足=======================
System Linux
PHP Version 5.2.3
allow_url_fopen Off
allow_url_include Off