我正在使用 simplexml_load_file() 函数加载 Twitter 成员 XML。
这工作正常,我可以解析 XML,但有时它需要很多时间来加载 XML 或 XML 不加载因为 Twitter。这不仅仅是因为 Twitter 的 150 个请求限制。
这就是为什么我想知道在 30 秒后加载不成功时是否可以中止 Twitter XML 文件加载?
谢谢你!
我不认为你可以做很多事情,使用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);
我首先想到的是使用 AJAX。创建对执行加载功能的 PHP 脚本的调用,如果需要超过 30 秒,则让 JavaScript 中止 AJAX 调用。
$.ajax({'complete': callbackFunction, 'url': 'foo/bar/', 'timeout': 5000, 'error': errorCallback});
您正在寻找timeout
and error
。超时(以毫秒为单位)中止脚本并调用error
可用于返回操作已中止的消息的函数(或您想要对其执行的任何操作)。