应用场景:有规律的json文件读取出来路径
["admin\/20170809\/598ac1355fbc2.zip","admin\/20170809\/598ac2a98efad.zip","admin\/20170809\/598ac187162b9.zip","admin\/20170522\/592247cbd9db4.zip","admin\/20170809\/598ac2171913a.zip","admin\/20170809\/598acda8cbd95.zip","admin\/20170809\/598ac1ec9d075.zip","admin\/20170307\/58be468f44eff.zip","admin\/20161018\/5805bcc3d64cc.zip","admin\/20170809\/598ac34225aa0.zip","admin\/20170809\/598ac0d38ea0b.zip","admin\/20160928\/57eb11ded7375.zip","admin\/20171010\/59dc708e1abb3.zip","admin\/20171010\/59dc7c52e59a8.zip","admin\/20170809\/598a863493032.zip","admin\/20170810\/598c0044bbd38.zip","admin\/20161018\/5805bc2f3ddf7.zip","admin\/20170520\/591faf269e620.zip","admin\/20161214\/5850a03dee1e3.zip","admin\/20160928\/57eb6449b170b.zip","admin\/20170809\/598ac0707b8b4.zip","admin\/20170820\/5999345b6d7ce.zip","admin\/20161018\/5805bd425f73f.zip","admin\/20170809\/598ac2670555c.zip","admin\/20171010\/59dc7c8099316.zip","admin\/20170522\/592248a5621e6.zip","admin\/20170520\/59200f965d7e2.zip"]
如上所示:
export.json文件有规律 想法:转换成数组通过file_get_contents读取出来 利用 json_decode转换成数组,然后foreach出来循环下载
public function download() { $b = \Qiniu\json_decode(file_get_contents('http://www.canyin668.com/export.json')); foreach($b as $k=>$v){ $a = file_get_contents('http://www.canyin668.com/data/upload/'.$v); // print_r($a); file_put_contents($k.'.zip',$a); } }最后得到以 $k命名以 $a为内容的压缩包
file_get_contents,file_put_contents 详析:
定义和用法
file_put_contents() 函数把一个字符串写入文件中。
与依次调用 fopen(),fwrite() 以及 fclose() 功能一样。
语法
file_put_contents(file,data,mode,context)
参数 | 描述 |
---|---|
file | 必需。规定要写入数据的文件。如果文件不存在,则创建一个新文件。 |
data | 可选。规定要写入文件的数据。可以是字符串、数组或数据流。 |
mode | 可选。规定如何打开/写入文件。可能的值:
|
context | 可选。规定文件句柄的环境。 context 是一套可以修改流的行为的选项。若使用 null,则忽略。 |
定义和用法
file_get_contents() 函数把整个文件读入一个字符串中。
和 file() 一样,不同的是 file_get_contents() 把文件读入一个字符串。
file_get_contents() 函数是用于将文件的内容读入到一个字符串中的首选方法。如果操作系统支持,还会使用内存映射技术来增强性能。
语法
file_get_contents(path,include_path,context,start,max_length)
参数 | 描述 |
---|---|
path | 必需。规定要读取的文件。 |
include_path | 可选。如果也想在 include_path 中搜寻文件的话,可以将该参数设为 "1"。 |
context | 可选。规定文件句柄的环境。 context 是一套可以修改流的行为的选项。若使用 null,则忽略。 |
start | 可选。规定在文件中开始读取的位置。该参数是 PHP 5.1 新加的。 |
max_length | 可选。规定读取的字节数。该参数是 PHP 5.1 新加的。 |