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
Kommentar