Ich versuche, ein Skript zu machen, die URLs von sitemap.xml laden und es in Array setzen. Sie sollte alle Seiten nacheinander laden, und nach jedem sollte etwas gedruckt werden.PHP cUrl Schleife mit Echo
<?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();
}
?>
Funktioniert immer noch nicht. Laden sehr lange Zeit, druckt nichts. Ich denke, dass Flush nicht funktioniert.
Sieht jemand das Problem?
Vielen Dank Filip
Sie brauchen nicht curl_init innerhalb der Schleife. Sie können ein Curl-Objekt erstellen und es mehrmals verwenden. –
Können Sie bitte ein Beispiel zeigen, um sicher zu gehen? :) – Filip
Sie müssen nur "$ data" aussprechen. Und Sie können sich wahrscheinlich ein paar Codezeilen sparen, indem Sie '$ data = file_get_contents ($ url) verwenden;' –