Liebe PHP-Spezialisten
Ich habe ein Verzeichnis "xml", aus dem von jeder Datei den Inhalt lesen und ein Wort mit einem anderen Wort ersetzen (bei allen Dateien handelt es sich um das gleiche Wort). Wenn dieses Wort in jeder Datei ersetzt wurde, will ich die Dateien in ein neues Verzeichnis "xmlneu" schreiben.
Mein Ansatz sieht bisher so aus:
	
Im Moment erhalte ich beim Aufruf der PHP-Seite mit obrigen Code einfach nur eine Liste auf der alle Dateien aufgeführt sind. Jedoch wird der Inhalt nicht geändert.
Und wie ich dann diese Dateien in ein neues Verzeichnis schreiben kann, ist mir auch nicht ganz klar.
Vielen Dank für eure Hilfe
					Ich habe ein Verzeichnis "xml", aus dem von jeder Datei den Inhalt lesen und ein Wort mit einem anderen Wort ersetzen (bei allen Dateien handelt es sich um das gleiche Wort). Wenn dieses Wort in jeder Datei ersetzt wurde, will ich die Dateien in ein neues Verzeichnis "xmlneu" schreiben.
Mein Ansatz sieht bisher so aus:
PHP-Code:
	
	
// aktuelles Verzeichnis oeffnen
$dh=opendir('./'); // dh = directory handle
// . und .. ueberspringen - werden immer als erstes aufgelistet
readdir($dh); readdir($dh);
// Dateiname fuer Dateiname durchgehen
while (false !== $fn=readdir($dh)) { // fn = filename
    // Wenn Dateiname mit .php endet, dann...
    if (substr($fn, -4)=='.xml') {
        // ...Inhalt einlesen und bearbeiten
        $fc=join('', file($fn)); // fc = file content
        $fc=str_replace('titel', 'neuer titel', $fc);
        
        // Datei mit neuem Inhalt speichern
        $fh=@fopen($fn, 'w'); // fh = file handle
        if ($fh) {
            fwrite($fh, $fc);
            fclose($fh);
            echo "+ $fn<br />";
        }
        else {
            echo "- $fn<br />";
        }
    }
} 
Und wie ich dann diese Dateien in ein neues Verzeichnis schreiben kann, ist mir auch nicht ganz klar.
Vielen Dank für eure Hilfe
 
          
 Moderator
 Moderator 
							
						
 
 
Kommentar