php批量下载图片

字体大小: 中小 标准 ->行高大小: 标准
假如现在我现在发现一个网站上的图片保存方式是1001 – 1999目录下都存放着从1开始(数量不等)的.jpg图片,现在我决定用php的方法将图片按照自己需要的样式直接下载到本地
02
 
03
假如图片开始地址为:http://image.xxx.com/img/1001/1.jpg
04
这时我将1001处放到变量$id,1.jpg放到变量$num.jpg,保存的文件名为$id_$num.jpg
05
首先确保在此文件执行目录下面建一个名为img的并且可写的文件夹
06
<?php
07
$id= isset($_GET['id']) && intval($_GET['id']) && $_GET['id']>1000 ? $_GET['id'] : 1001;
08
$num= isset($_GET['num']) && intval($_GET['num']) ? $_GET['num'] : 1;
09
$url="http://image.xxx.com/img/{$id}/{$num}.jpg";
10
 
11
$array=get_headers($url,1);
12
 
13
//通过返回200和400来判断是增加$id或者$num
14
if(preg_match('/200/',$array[0])){
15
    $new_url="?id={$id}&num=".($num+1);
16
 
17
    ob_start();
18
    readfile($url);
19
    $img = ob_get_contents();
20
    ob_end_clean();
21
 
22
    $filename="./img/{$id}_{$num}.jpg";
23
    $f=fopen($filename,'a');
24
    fwrite($f,$img);
25
    fclose($f);
26
}else{
27
    $new_url="?id=".($id+1)."&num=1";
28
}
29
if($id > 1999) exit('全部完成');
30
//显示当前的状态
31
echo $url,' - ',$array[0],'<script>location.href="'.$new_url.'";</script>';
32
?>

此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/29904.html