我有一个巨大的xml文件(~85 Mo),我想用XML Reader打开它(然后我的脚本读取选定的行)。我已经将它下载到我的电脑上并且我的脚本正常工作(使用Wamp)。
现在我想在网上做同样的事情。服务器登录是 aaa ,密码是 bbb (当然这是一个例子)。
我尝试了以下声明:
$xml = new XMLReader();
if ($xml->open('ftp://aaa:bbb@ftp.website.com/myfile.xml')){
echo 'OK';
}
while($xml->read()){
// my script here...
}
似乎我错了,因为我的网络浏览器指示我的页面太长而无法加载。继续进行的好方法是什么?还是我错过了重要的事情?
答案 0 :(得分:4)
由于有问题的文件是XML,部分下载它是不明智的,因为它可能会破坏xml结构,使解析器失败。
您可以偶尔获取一个cronjob来检索文件,然后从服务器上的本地位置打开它,或者检索一次并在本地缓存它以便它可以加快后续请求。
答案 1 :(得分:0)
http://davidwalsh.name/increase-php-script-execution-time-limit-ini_set 默认执行时间为20秒或30,将其增加到1分钟并重试
答案 2 :(得分:0)
我会使用curl连接到FTP服务器并下载文件。
答案 3 :(得分:0)
最好先使用PHP的FTP functions将文件下载到服务器,然后在本地打开文件。我不会依赖在XML库中使用FTP,你会以这种方式获得更大的灵活性。