当前位置:首页 > 技术文档 > 正文内容

php批量下载图片

admin11年前 (2015-05-11)技术文档1699
假如现在我现在发现一个网站上的图片保存方式是1001 – 1999目录下都存放着从1开始(数量不等)的.jpg图片,现在我决定用php的方法将图片按照自己需要的样式直接下载到本地
 
假如图片开始地址为:http://image.xxx.com/img/1001/1.jpg
这时我将1001处放到变量$id,1.jpg放到变量$num.jpg,保存的文件名为$id_$num.jpg
首先确保在此文件执行目录下面建一个名为img的并且可写的文件夹
<?php
$id= isset($_GET['id']) && intval($_GET['id']) && $_GET['id']>1000 ? $_GET['id'] : 1001;
$num= isset($_GET['num']) && intval($_GET['num']) ? $_GET['num'] : 1;
$url="http://image.xxx.com/img/{$id}/{$num}.jpg";
  
$array=get_headers($url,1);
  
//通过返回200和400来判断是增加$id或者$num
if(preg_match('/200/',$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,'a');
    fwrite($f,$img);
    fclose($f);
}else{
    $new_url="?id=".($id+1)."&num=1";
}
if($id > 1999) exit('全部完成');
//显示当前的状态
echo $url,' - ',$array[0],'<script>location.href="'.$new_url.'";</script>';
?>


分享到:

扫描二维码推送至手机访问。

版权声明:本文由云河空间发布,如需转载请注明出处。

本文链接:http://yuyunhe.cn/index.php/post/40.html

分享给朋友:

“php批量下载图片” 的相关文章

安卓刷机教程

 安卓手机刷机教程,体验不一样的新系统。    一:刷机准备与介绍  首先简单介绍下刷机吧,所谓的刷机,不纯指刷新的系统,其中还包括刷Recovery(也叫CWM或者工程模式),基带(你可以理解为电脑驱动 类),ROM(系统哦),SPL(你...

利用ctrl+v实现粘贴截图完成上传功能

<?php header("Access-Control-Allow-Origin:*"); $url  = 'http://'.$_SERVER['HTTP_HOST']; $file =&nb...

ThinkPHP分页的实现

分页类需要和查询相结合,我们可以使用ThinkPHP自带的limit方法或者page方法,目的就是为了获取当前分页的数据(也有先获取完整数据然后前端分页显示的方法,不在本文描述内容中,也不建议)。使用limit方法或者page方法是和数据库类型无关的。我们首先在数据库里面创建一个think_data...

PHP实现登陆后台限制到只允许一台机器在线

方法一:# <?php# ob_start();# session_start();# class CC{#   private $REFURL="http://www.php100.com";    //登陆成功后转换页面#   private $LoginFLAG=fa...

php利用百度地图API进行IP定位和GPS定位

最 近在做一个手机端的webapp地图应用,而核心内容当然是定位了,但是定位的话有几种方式,IP定位,GPS定位,基站定位(这个貌似webapp用不 了), 那么剩下核心的gps定位和ip定位了,我们知道,html5有定位API,但是该API拿到的GPS数据是硬件坐标,无法直接显示在地图上。...

PHP数组和Json之间的转换

        之所以要用到Json,很多时候是因为使用ajax对象时,程序与JS函数之间的数据交互。因为JS不认识PHP中的数组,PHP也不认识JS中的数组或对象。Json很好的解决了这个问题。Json简介  ...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。