首页  >  文章  >  php教程  >  php批量下载图片

php批量下载图片

PHP中文网
PHP中文网原创
2016-05-25 17:09:471114浏览

[PHP]代码  

假如现在我现在发现一个网站上的图片保存方式是1001 – 1999目录下都存放着从1开始(数量不等)的.jpg图片,现在我决定用php的方法将图片按照自己需要的样式直接下载到本地

假如图片开始地址为:http://www.php.cn/
这时我将1001处放到变量$id,1.jpg放到变量$num.jpg,保存的文件名为$id_$num.jpg
首先确保在此文件执行目录下面建一个名为img的并且可写的文件夹
<?php
$id= isset($_GET[&#39;id&#39;]) && intval($_GET[&#39;id&#39;]) && $_GET[&#39;id&#39;]>1000 ? $_GET[&#39;id&#39;] : 1001;
$num= isset($_GET[&#39;num&#39;]) && intval($_GET[&#39;num&#39;]) ? $_GET[&#39;num&#39;] : 1;
$url="http://image.xxx.com/img/{$id}/{$num}.jpg";
 
$array=get_headers($url,1);
 
//通过返回200和400来判断是增加$id或者$num
if(preg_match(&#39;/200/&#39;,$array[0])){
	$new_url="?id={$id}&num=".($num+1);
 
	ob_start();
	readfile($url);
	$img = ob_get_contents();
	ob_end_clean(); 
 
	$filename="./img/{$id}_{$num}.jpg";
	$f=fopen($filename,&#39;a&#39;);
	fwrite($f,$img);
	fclose($f);
}else{
	$new_url="?id=".($id+1)."&num=1";
}
if($id > 1999) exit(&#39;全部完成&#39;);
//显示当前的状态
echo $url,&#39; - &#39;,$array[0],&#39;<script>location.href="&#39;.$new_url.&#39;";</script>&#39;;
?>

                   

                   

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn