我正在使用下面提到的代码来下载图像。
$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);
上述代码在开发环境中运行良好,可以从任何网站下载图像。该代码也适用于实时站点,以从除一个站点之外的其他站点下载图像。
图像似乎已下载,但每当我尝试使用任何图像查看器打开图像时,都会显示一条错误消息,如下所示。
无法加载图像“img-65456465.jpg”。解释 JPEG 图像文件时出错(不是 JPEG 文件:以 0x3c 0x21 开头)
我也检查了错误日志,但没有发现问题。我不明白为什么它的图像下载功能仅适用于该特定网站。
注意:1)我检查了该网站中托管的原始图像类型仅为 JPEG。
编辑: 当我尝试使用浏览器查看下载的图像时,我发现了下面提到的错误。
图片“ 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
对此的任何帮助将不胜感激。