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

yipeiwu_com5年前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 sleep()函数, usleep()函数

PHP sleep() 函数 定义和用法 sleep() 函数延迟代码执行若干秒。 语法sleep(seconds) seconds 必需。以秒计的暂停时间。 返回值 若成功,返回 0...

PHP关于IE下的iframe跨域导致session丢失问题解决方法

今天搞的一个登录页面,被别的网站用iframe嵌进去后,死活无法登录(只在IE中存在这种情况)。 很明显,session无法被保存。但是直接在地址栏打开那个登录页面,一切都正常啊。真是奇...

PHP CURL函数库第1/2页

curl_close — 关闭一个curl会话 curl_copy_handle — 拷贝一个curl连接资源的所有内容和参数 curl_errno — 返回一个包含当前会话错误信息的数...

php实现购物车功能(上)

php实现购物车功能(上)

本文分两篇为大家介绍php实现购物车功能,具有一定的参考价值,相信大家一定喜欢。 1、需求分析  我们需要找到一种将数据库连接到用户的浏览器的方法。用户能够按目录浏览商品。&n...

php封装的page分页类完整实例

本文实例讲述了php封装的page分页类。分享给大家供大家参考,具体如下: 类文件: <?php //分页工具类 class Page{ /*...