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
Comment