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

yipeiwu_com6年前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 abstract class Employee { /...

批量修改RAR文件注释的php代码

我们打开WINRAR的帮助文件,帮助文件中提到了在命令行模式下修改RAR文件注释及添加压缩文档的两个参数分别为A\C,WINRAR的说明文件如下: 从当前文件夹添加全部 *.hlp 文件...

PHP代码优化的53个细节

用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:...

在任意字符集下正常显示网页的方法一

转:coolcode.cn通常情况下,我们的网页要指定一个编码字符集,如 GB2312、UTF-8、ISO-8859-1 等,这样我们就可以在网页上显示我们指定编码的...

PHP,ASP.JAVA,JAVA代码格式化工具整理

PHP代码格式化工具http://www.waterproof.fr/products/phpCodeBeautifier/最近修改一个代码,里面完全没有缩进,用这个能够格式化一下。相当...