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程序设计有所帮助。