繁体   English   中英

如何在PHP中使用XML Reader在远程服务器上打开文件?

[英]How to open a file on a distant server with XML Reader in php?

我有一个巨大的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... 
}

我似乎错了,因为我的网络浏览器指示我的页面太长而无法加载。 继续进行的好方法是什么? 还是我错过了重要的事情?

由于所讨论的文件是XML,部分下载它是不明智的,因为它可能会破坏xml结构,使解析器失败。

你可以得到一个cronjob来偶尔检索文件,你可以从服务器上的本地位置打开它,或者检索一次并在本地缓存它以便它可以加快后续请求。

http://davidwalsh.name/increase-php-script-execution-time-limit-ini_set默认执行时间为20秒或30,将其增加到1分钟并重试

我会使用curl连接到FTP服务器并下载文件。

http://php.net/manual/en/book.curl.php

您可能最好先使用PHP的FTP功能将文件下载到服务器,然后在本地打开该文件。 我不会依赖在XML库中使用FTP,这样你就会获得更多的灵活性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM