PHP-用PHP来批量下载网络中的图片

PHP-用PHP来批量下载网络中的图片

浮生未歇 发布于 2017-01-27 字数 176 浏览 1045 回复 4

图片地址有规律的 例如
XXX.com/images/01.jpg
XXX.com/images/02.jpg
XXX.com/images/03.jpg
这样的地址 怎么能批量下载下来呢 用PHP来实现的话 需要哪些函数

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

泛泛之交 2017-10-17 4 楼

这样就行了吧

function getImage($url, $filename="") {
if(!$url) return false;

if(!$filename) {
$ext=strrchr(strtolower($url),".") ;
if($ext!=".gif" && $ext!=".jpg" && $ext!=".png") return false;
$str=explode('/',$url) ;
$filename=$str[count($str)-1] ;
}

ob_start();
readfile($url);
$img = ob_get_contents();
ob_end_clean();
$fp2=@fopen($filename, "a") ;
fclose($fp2) ;

return $filename;
}

//批量下载
foreach($images as $k => $image){
getImage($image, $filename;);
}

泛泛之交 2017-06-13 3 楼

set_time_limit(0);
$imagesURLArray = array_unique($imagesURLArray );

foreach($imagesURLArray as $imagesURL) {
echo $imagesURL;
echo "<br/>";
file_put_contents(basename($imagesURL), file_get_contents($imagesURL));
}

imagesURLArray 中存储url,如果你的url是有规律的,都不需要存储,根据规则生成每一个地址然后传参就好了。

甜柠檬 2017-05-20 2 楼

1、通过正则获取将要下载的图片url保存至数组中,这一步会用到preg_match_all函数;
2、下载所有url对应的图片,可以fopen和fwrite来实现,也可以用curl或者snoopy来下载,可以做成一个批处理,实现多任务进行图片下载;

想挽留 2017-02-15 1 楼

直接 copy

copy('http://upload/avatar/071/749/374/user_71749374_avatar_1326432391_k.jpg','a.jpg')