如何从PHP中的指定网址获取大数据(json)
我有一个php应用程序,我需要它从一个url获取一个大的json响应。随着卷曲,当我从终端使用它时,一切都如预期一样。但PHP卷曲并没有得到整个文件。它看起来像被截断了。如何从PHP中的指定网址获取大数据(json)
curl命令我从终端使用方法是:
curl -v -H 'Accept-Encoding:gzip,deflate,sdch' resultsURL --compressed
其中resultsURL是我想从JSON的URL。
这通常会让我回到约10,000kb(9-10mb),但是从PHP curl我得到的最多400-500kb。
我怎样才能得到整个文件?
(EXEC是不是一种选择),你从浏览器或`cli`运行PHP脚本
set_time_limit(0);
$url = 'http://www.example.com/a-large-file.json';
$path = '/path/to/a-large-file.json';
$fp = fopen($path, 'w+');
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_FILE, $fp);
$data = curl_exec($ch);
curl_close($ch);
fclose($fp);
这将输出一个空的json文件。当我使用我在curl中提供压缩的头文件时,它会向文件输出我之前得到的内容。 –
你能分享你的json文件链接吗? – AZinkey
是的,这里是:http://api.travelpayouts.com/v1/flight_search_results?uuid=dcbc9d20-c3be-47f4-965f-d72961b76bb1 –
? – maximkou
我使用Firefox,是否有区别? –
好的,如果你从浏览器调用脚本,那么@AZinkey答案必须帮助你。如果不是秘密,下载这个json文件的目的是什么? – maximkou