如何从PHP中的指定url获取大数据(json)

时间:2017-10-09 07:16:48

标签: php json curl

我有一个php应用程序,我需要它从网址获取一个大的json响应。随着卷曲,当我从终端使用它时,一切都按预期进行。但是php curl并没有获得整个文件。看起来它被截断了。

我在终端使用的curl命令是:

 curl -v -H 'Accept-Encoding:gzip,deflate,sdch' resultsURL --compressed

其中resultsURL是我想从中获取json的网址。

这通常会让我回到大约10,000kb(9-10mb),但是从php curl我得到的最多400-500kb。

我如何获得整个文件?

(exec不是一个选项)

1 个答案:

答案 0 :(得分:0)

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);