以下のコードを使用して画像をダウンロードしています。
$image_url='http://www.abcd.com/I_298f02_4766792.jpg';
$doc_root= $_SERVER['DOCUMENT_ROOT'];
$image_upload_path = $doc_root . '/';
$image_name2 = 'img-' . time() . '.jpg';
$destination = $image_upload_path . $image_name2;
$data = file_get_contents($image_url);
$file = fopen($destination, "w+");
fputs($file, $data);
fclose($file);
上記のコードは、開発環境で正常に機能し、任意の Web サイトから画像をダウンロードできます。このコードはライブ サイトでも機能し、1 つのサイトを除く他の Web サイトから画像をダウンロードします。
画像はダウンロードされたようですが、画像ビューアを使用して画像を開こうとすると、以下のエラー メッセージが表示されます。
画像 'img-65456465.jpg' を読み込めませんでした。JPEG 画像ファイルの解釈中にエラーが発生しました (JPEG ファイルではありません: 0x3c 0x21 で始まります)
エラーログも確認しましたが問題ありませんでした。その画像ダウンロード機能がその特定の Web サイトでのみ機能しない理由がわかりません。
注: 1) その Web サイトでホストされている元の画像の種類が JPEG のみであることを確認しました。
EDIT: ブラウザを使用してダウンロードした画像を表示しようとすると、以下のエラーが見つかりました。
画像「http://www.my-live-site.com/folder/img-65456465.jpg」はエラーが含まれているため表示できません。
提案に従って、元のウェブサイトのリンクを提供しています。 ウェブサイト: http://www.funnyjunk.com/ 画像:このウェブサイトからの画像リンク。例http://static.fjcdn.com/pictures/The+smarterest.+Wow+a+description+I+could+say+anything+I_298f02_4766792.jpg
これに関するヘルプをいただければ幸いです。