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

yipeiwu_com4年前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的PDO事务处理机制实例分析

本文实例讲述了php的PDO事务处理机制。分享给大家供大家参考,具体如下: 事务 (Transaction) 是操作数据库中很重要的一个功能, 它可以让你预定一条, 或者一系列 SQL...

PHP过滤★等特殊符号的正则

复制代码 代码如下: if(preg_match("/[ '.,:;*?~`!@#$%^&+=)(<>{}]|\]|\[|\/|\\\|\"|\|/",$user)){ ec...

php快速url重写更新版[需php 5.30以上]

对于apache的rewrite模块打开和设置则非本文主题,请见其他文章详解. 这个类只能php 5.30以上的版本才能使用,继承了上一个版本的快速重定向的特点(单独类,全部使用静态调用...

基于PHP导出Excel的小经验 完美解决乱码问题

我在PHP项目里要求把数据导出为Excel,并且数据中包含中文.网上大概了解一下可是使用PHPExcel,可是相对我的需求,这个框架太复杂了.于是还是想找找简单做法.网上发现其实最简单可...

php连接oracle数据库的方法(测试成功)

本文简单分析了php连接oracle数据库的方法。分享给大家供大家参考,具体如下: PHP提供了两套函数与Oracle连接,分别是ORA_和OCI函数。其中ORA_函数略显陈旧。OCI函...