e_Lap
Commander
- Registriert
- Apr. 2013
- Beiträge
- 2.222
Moin,
ich versuche gerade Dateien in einem Verzeichnis umzubennenen und zwar mit Werten die ich vorher in einem Array festgelegt habe. Bei rename() steh ich aber grad komplett aufm Schlauch.
Mein Script liest die Dateinamen ein, passt sie entsprechend an, speichert die neuen Werte in einem Array und gibt dies dann als echo und .txt aus.
Nur möchte ich aber, dass das Script die Dateien auch gleich noch umbennent und zwar so wie ich sie vorher geändert habe.
Ich hoffe, dass ist einigermaßen verständlich.
Mein Ansatz des rename(): 1. Versuch
Mein Ansatz des rename(): 2. Versuch
Richtig lustig wirds noch, da ich das "neue" array von oben noch per array_diff mit einem 2. array vergleiche und dann im Endeffekt gerne nur die hier ausgeworfenen Datein umbennenen würde. Aber darum kümmere ich mich später. Es wäre schön, wenn die einfache Umbennenung schonmal irgendwie funktionieren würde.
ich versuche gerade Dateien in einem Verzeichnis umzubennenen und zwar mit Werten die ich vorher in einem Array festgelegt habe. Bei rename() steh ich aber grad komplett aufm Schlauch.
Mein Script liest die Dateinamen ein, passt sie entsprechend an, speichert die neuen Werte in einem Array und gibt dies dann als echo und .txt aus.
Nur möchte ich aber, dass das Script die Dateien auch gleich noch umbennent und zwar so wie ich sie vorher geändert habe.
Ich hoffe, dass ist einigermaßen verständlich.
PHP:
$verz = opendir ("/xxx"); //Hier das entsprechende Verzeichnis einfügen
$datei1 = readdir ($verz);
$array_1 = array ("_", ".jpg","____"); //Vorläufige "Fehlererkennung"
$array_2 = array ("__", "","__" );
$array_verz = array();
while ($datei1 = readdir ($verz)) {
$datei_neu= str_replace ($array_1, $array_2, $datei1);
$array_verz[] = $datei_neu; //schreibt die gekürzten Dateinamen ins Array
}
Mein Ansatz des rename(): 1. Versuch
PHP:
$dirname='/xxx';
rename($dirname, $datei_neu);
Mein Ansatz des rename(): 2. Versuch
PHP:
$dirname=('/xxx');
$handle=opendir ($dirname);
while ( $file = readdir ( $handle ) ) {
if( $file == "." or $file == "..") {
}else{
$alt=$dirname.$file;
$neu=$dirname.$ausgabe;
rename($alt,$neu);
}
}
Richtig lustig wirds noch, da ich das "neue" array von oben noch per array_diff mit einem 2. array vergleiche und dann im Endeffekt gerne nur die hier ausgeworfenen Datein umbennenen würde. Aber darum kümmere ich mich später. Es wäre schön, wenn die einfache Umbennenung schonmal irgendwie funktionieren würde.
Zuletzt bearbeitet: