Wie kann ich Links aus einer Sitemap exportieren?

Aus Carl-Christian Sautter - Wiki
Wechseln zu: Navigation, Suche
<?php
error_reporting(E_ALL);

if(isset($_POST['path'])){
	system("find /pfad/zum/scriptverzeichnis/cache -mtime +1 -exec rm {} \;"); //Dateien älter als 1 Tag löschen
	
	// XML Datei Laden
	$xml_startpath = $_POST['path'];
	$xml_path = $xml_startpath;
	
	$xml_map =  file_get_contents($xml_path);
	
	$xml = new SimpleXMLElement($xml_map);
	
	// Neue CSV Datei schreiben
	$my_file = 'cache/links_'.microtime().'.csv';
	$handle = fopen($my_file, 'w') or die('Cannot open file:  '.$my_file); //implicitly creates file
	
	echo'<a href="'.$my_file.'">Download as CSV</a><br/><br/>';
	
	// Ausgabe in Browser und Datei
	foreach ($xml->sitemap as $sitemap){
		echo "<span style=\"color:#FF0000;\">".$sitemap->loc."</span><br/>\n";
		$data .= "Sitemap: ".$sitemap->loc."\n";
	}
	foreach ($xml->url as $url){
		echo "".$url->loc."<br/>\n";
		$data .= "".$url->loc."\n";
	}
	
	// Ausgabe in Datei schreiben
	$handle = fopen($my_file, 'w') or die('Cannot open file:  '.$my_file);
	fwrite($handle, $data);
	fclose($handle);
	
	echo'<br/><br/><a href="'.$my_file.'">Download as CSV</a>';
} else {
	?>
	<form action="" method="post">
    Pfad zur Sitemap (mit http://):<br />
    <input type="text" size="100" name="path" /><br />
    <input type="submit" value=" Extrahiere Links " />
	</form>
    <?php
}

?>