PHP 批量下载一系列小型文件 函数

yipeiwu_com7年前PHP代码库

在工作时找素材是一个特别费时间的事情,

有时要下载一系统的小图片,或者小文档、小视频,

只要文件命名有规则,就可以通过PHP来批量下载下来,

速度比较快,可以省下不少时间的。


此处理方式,不适合大文件下载哦。


// 不超时处理
ini_set('max_execution_time',0);

/**
 * 下载系列文件
 * @param $fileUrl  文件网址 如 http://abc.com/images/{{fileSerialize}}.jpg
 * @param $from     从多少开始 如 1
 * @param $to       到多少结束 如100
 * @return array    返回成功、失败清单
 */
function downloadSerializeFiles($fileUrl,$from,$to){
    for($i=$from;$i<=$to;$i++){
        $src = str_replace('{{fileSerialize}}',$i,$url);
        if(file_put_contents($i.'.jpg',file_get_contents($src))){
            $successArray[$i] = $i.'-下载成功';
        }
        else{
            $failArray[$i] = $i.'-下载不成功';
        }
    }
    return array('successed'=>$successArray,'fail'=>$failArray);
}


调用方式:

// {{fileSerialize}} 这个是占位符,作为变量在函数中替换,你可以写成你自己喜欢的
// 要注意文件的后缀名
$fileUrl = 'http://abc.com/images/{{fileSerialize}}.jpg';
$from = 1;
$to = 100;
$rs = downloadSerializeFiles($fileUrl,$from,$to);


运行后,就会批量把文件下载到同级目录中了。


希望本文所述对大家的php程序设计有所帮助。

标签: 批量下载

相关文章

PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数

PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数

思维导图 点击下图,可以看大图。 介绍 我把我比较喜欢的和比较关注的地方写下来和大家分享。上次我写了篇《php 跟老大的对话》。还是有很多疑问,这书帮了我不少的忙。 如果你比较繁忙,或者...

PHP使用in_array函数检查数组中是否存在某个值

本文实例讲述了PHP使用in_array函数检查数组中是否存在某个值的方法。分享给大家供大家参考。具体分析如下: PHP使用in_array()函数检查数组中是否存在某个值,如果存在则返...

php中使用Curl、socket、file_get_contents三种方法POST提交数据

抓取远程内容,之前一直都在用file_get_content函数,其实早就知道有curl这么一个好东西的存在,但是看了一眼后感觉使用颇有些复杂,没有file_get_content那么简...

PHP常见错误提示含义解释(实用!值得收藏)

本文讲述了PHP常见错误提示含义解释。分享给大家供大家参考,具体如下: 在学习PHP的时候,经常遇到各种错误提示,今天看到这错误提示和解释感觉挺好,现转过来,供我们学习。呵呵。。。。。...

php设计模式 Command(命令模式)

复制代码 代码如下: <?php /** * 命令模式 * * 将一个请求封装为一个对象从而使你可用不同的请求对客户进行参数化,对请求排除或记录请求日志,以及支持可取消的操作 */...