使用cURL下载大型XML文件

3
我正在使用PHP并需要解析一些相当大的XML文件(50-75MB未压缩)。问题在于这些XML文件是远程存储的,需要下载后才能解析。经过思考,我认为在PHP中使用system()调用以启动cURL传输可能是避免超时和PHP内存限制的最佳方法。之前有人做过类似的事情吗?具体来说,我应该传递什么给cURL以下载远程文件并确保它保存到我选择的本地文件夹中?
1个回答

1

你可以尝试这个:

function download($src, $dst) {
        $f = fopen($src, 'rb');
        $o = fopen($dst, 'wb');
        while (!feof($f)) {
            if (fwrite($o, fread($f, 2048)) === FALSE) {
                   return 1;
            }
        }
        fclose($f);
        fclose($o);
        return 0;
}
download($url,$target);
if ( file_exists($target) ){
   # do your stuff
}

这个可以运行,但显然会受到 PHP 超时的限制 - 在这种情况下不太好。 - ndg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接