【发布时间】:2016-06-17 17:11:51
【问题描述】:
我正在尝试制作一个从 sitemap.xml 加载 url 并将其放入数组的脚本。它们应该一页一页地加载所有页面,并且在每个页面之后都应该打印一些东西。
<?php
set_time_limit(6000);
$urls = array();
$DomDocument = new DOMDocument();
$DomDocument->preserveWhiteSpace = false;
$DomDocument->load('sitemap.xml');
$DomNodeList = $DomDocument->getElementsByTagName('loc');
//parsovani xml, vkladani linku do pole
foreach($DomNodeList as $url) {
$urls[] = $url->nodeValue;
}
foreach ($urls as $url) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
echo $url."<br />";
flush();
ob_flush();
}
?>
还是不行。加载很长时间,不打印任何东西。我认为刷新不起作用。
有人看到问题了吗??
非常感谢 菲利普
【问题讨论】:
-
你不需要 curl_init 在循环中。您可以创建一个 curl 对象并多次重复使用它。
-
你能举个例子来确定一下吗? :)
-
您只需回显
$data。使用$data = file_get_contents($url);,你或许可以为自己节省几行代码 -
我需要在每个周期中回显。但也许 Gzip 可以参与其中???