我有一个受密码保护的Feed。以下是用于访问Feed的代码
$url = 'http://thefeedwebsite.com/feed.php';
$data = array("username" => ‘user’, "password" => ‘password’, "location" => "HK")
$ch = curl_init($url);
);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
$output = curl_exec($ch);
curl_close($ch);
问题在于,由于输出大约100个结果后的大尺寸,它会保持超时。我已经在我的php.ini中设置了时间限制,因为有些线程建议但仍然是同样的问题。我认为这是因为CURL将完整的Feed加载到内存中。
是否可以将$output
直接加载到php中的XMLReader()
,以便我可以更快地通过阅读器处理Feed?
抱歉,这个问题完全是菜鸟。刚开始用xml学习php
答案 0 :(得分:2)
这个主题可以帮助你(流式传输cURL和播放内存):
Manipulate a string that is 30 million characters long
第一个答案将其存储在文件中。第二个是流媒体数据“随着它们流动”。如果文件非常庞大,您应该考虑要使用的XML解析器。有些将整个xml加载到内存中并创建一个对象,但其他人只能提供可以动态处理XML的接口方法(无需将整个XML加载到内存中)。
答案 1 :(得分:0)