0

我正在使用 simplexml_load_file() 函数加载 Twitter 成员 XML。

这工作正常,我可以解析 XML,但有时它需要很多时间来加载 XML 或 XML 不加载因为 Twitter。这不仅仅是因为 Twitter 的 150 个请求限制。

这就是为什么我想知道在 30 秒后加载不成功时是否可以中止 Twitter XML 文件加载?

谢谢你!

4

2 回答 2

0

我不认为你可以做很多事情,使用simplexml_load_file().

但是,当使用 cURL 检索 URL 的内容时,您可以指定超时:

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_TIMEOUT, 10); // <- Timeout in Seconds
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 

$xml = curl_exec($curl);
curl_close($curl);
于 2013-01-21T23:14:32.507 回答
0

我首先想到的是使用 AJAX。创建对执行加载功能的 PHP 脚本的调用,如果需要超过 30 秒,则让 JavaScript 中止 AJAX 调用。

$.ajax({'complete': callbackFunction, 'url': 'foo/bar/', 'timeout': 5000, 'error': errorCallback});

您正在寻找timeoutand error。超时(以毫秒为单位)中止脚本并调用error可用于返回操作已中止的消息的函数(或您想要对其执行的任何操作)。

您可以在 有关 AJAX 的 Jquery 文档中找到更多信息

于 2013-01-21T23:17:05.597 回答