Home  >  Article  >  php教程  >  php批量下载图片

php批量下载图片

PHP中文网
PHP中文网Original
2016-05-25 17:09:471113browse

[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;;
?>

                   

                   

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn