Hallo Leute,
Hier die Ausgangssituation:
Es liegen eine Reihe von Microsoft Word Dokumenten in einem Ordner und mehreren Unterordnern vor. Alle (99%) der Dokumente enthalten ein Prozentzeichen im Dateinamen, welches durch ein „P“ ersetzt werden soll.
Die Funktion sollte sich eben rekursiv durch die Ordnerstruktur arbeiten und bei Bedarf umbenennen.
Ich habe hier folgende Funktion datanamefix geschrieben:
Diese wird per include in eine index.php eingebunden:
Leider erhalte ich folgende Fehlermeldung beim Aufruf:
Zeile 11 enthält folgenden Code:
Ich kann mit der Fehlermeldung leider nichts anfangen Kann mir jemand helfen?
Viele Grüße,
gen
Hier die Ausgangssituation:
Es liegen eine Reihe von Microsoft Word Dokumenten in einem Ordner und mehreren Unterordnern vor. Alle (99%) der Dokumente enthalten ein Prozentzeichen im Dateinamen, welches durch ein „P“ ersetzt werden soll.
Die Funktion sollte sich eben rekursiv durch die Ordnerstruktur arbeiten und bei Bedarf umbenennen.
Ich habe hier folgende Funktion datanamefix geschrieben:
PHP-Code:
function datanamefix ($RootFolder) {
global $NumObjectsRenamed;
$dir = dir($RootFolder);
while($ObjectRoot = $dir->read() ) {
$ObjectSplit = split("[.]", $ObjectRoot);
//MS-Word Datei umbenennen
if ($ObjectSplit[1] == "doc" && eregi('%', $ObjectSplit[0])) {
$NewObjectName = str_replace("%", "P", $ObjectSplit[0]);
if(rename($ObjectRoot, $NewObjectName)) { $NumObjectsRenamed++ ; }
}
//Auf Unterordner zugreifen
if ($ObjectSplit[0] == $ObjectRoot) {
$DocumentSubFolder = $DocumentRootFolder."/".$ObjectRoot;
datanamefix($DocumentSubFolder);
}
}
return NumObjectsRenamed;
}
PHP-Code:
include("datanamefix.php");
// Konfiguration
$DocumentRootFolder = "demo-folder"; //Stammordner
$NumObjectsRenamed = 0; //Ausgangswert
echo "Es wurden <b>".datanamefix($DocumentRootFolder)."</b> Dateien umbenannt.";
Fatal error: Call to a member function on a non-object in datanamefix.php on line 11
PHP-Code:
while($ObjectRoot = $dir->read() ) {
Viele Grüße,
gen
Kommentar