如何从php下载URL中的图像?

时间:2015-07-01 06:06:18

标签: php

我正在使用file_get_contents函数从URL下载图像。但在某些情况下,我得到像这样的错误

file_get_contents(http://www.aaaaa.com/multimedia/dynamic/02456/RK_2456652g.jpg):无法打开流:HTTP请求失败!”。  只有部分网址出现此错误,才能使用此代码轻松下载其他图片。

我在 cron 中运行此代码时出现此错误。但是当我从相同的URL手动下载图像时下载。任何人都可以帮我解决这个问题。

我的代码是

 $arr="http://www.aaaa.com/multimedia/dynamic/02077/saibaba_jpg_2077721g.jpg";
 $file = basename($arr); 
 $date = date('Ymd');
 $id=2225;
 if (!file_exists('../media/'.$date)) {
 $path=mkdir('../media/'.$date, 0777, true);
}
 if (!file_exists('../media/'.$date.'/'.$id)) {
 $path=mkdir('../media/'.$date.'/'.$id, 0777, true);
}

//Get the file
$content= file_get_contents($arr);

//Store in the filesystem.
$fp = fopen('../media/'.$date.'/'.$id.'/'.$file, "w");


 fwrite($fp, $content);
 fclose($fp);

1 个答案:

答案 0 :(得分:0)

如果您执行了自己的功能,则必须提供文件的完整路径。 LIKE

$arr="http://www.aaaa.com/multimedia/dynamic/02077/saibaba_jpg_2077721g.jpg";
 $file = basename($arr); 
 $date = date('Ymd');
 $id=2225;
 if (!file_exists('/var/www/path_to_Your_folder/media/'.$date)) {
 $path=mkdir('/var/www/path_to_Your_folder/media/'.$date, 0777, true);
}
 if (!file_exists('/var/www/path_to_Your_folder/media/'.$date.'/'.$id)) {
 $path=mkdir('/var/www/path_to_Your_folder/media/'.$date.'/'.$id, 0777, true);
}

//Get the file
$content= file_get_contents($arr);

//Store in the filesystem.
$fp = fopen('/var/www/path_to_Your_folder/media/'.$date.'/'.$id.'/'.$file, "w");


 fwrite($fp, $content);
 fclose($fp)