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来实现网络服务

作者:samisa 以下文中的翻译名称对照表 : payload: 交谈内容 object: 实例 function: 函数 使用 php来实现网络服务 使用框架: WSO2 WSF/P...

PHP利用APC模块实现大文件上传进度条的方法

php 大文件带进度的上传,一直是一个令php程序员很苦恼的问题。查询baidu 、Google ,大体做带进度的上传方式为:flash+php,socket,apc+php等,下面我介...

WordPress开发中短代码的实现及相关函数使用技巧

其实实现短代码很简单,我们只需要用到 WordPress 里面的一个函数就可以搞定短代码,外加自己的一个小函数,可以让短代码实现的轻松加愉快。 短代码实现原理 就像往 WP 一些动作里加...

PHP中spl_autoload_register()函数用法实例详解

本文实例分析了PHP中spl_autoload_register()函数用法。分享给大家供大家参考,具体如下: 在了解这个函数之前先来看另一个函数:__autoload。 一、__aut...

详解php的socket通信

详解php的socket通信

 对 TCP/IP 、 UDP 、 Socket 编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。 那什么是TCP/IP、UDP? TCP/IP(Tran...