Eigentlich will ich nämlich, dass die dateien
bild3.jpg
bild4.jpg
bild5.jpg
ins Backup-Verzeichnis kopiert werden.
Sollten diese Dateinamen dort aber schon vorhanden sein, soll ab dem "höchsten Dateinamen" weiter hochgezählt werden.
Beispiel: Im Backup-Verzeichnis gibt es schon
bild3.jpg
bild5.jpg
testbild2.jpg
test4.jpg
photo22.jpg
Dann soll
./bild3.jpg zu ./backup/bild6.jpg werden
./bild4.jpg zu ./backup/bild7.jpg werden
./bild5.jpg zu ./backup/bild8.jpg werden
Mein bisheriger Code:
preg_match("/\d*$/", $datei_ohne_endung, $treffer;
$i=$treffer[0];
$datei_ohne_endung = preg_replace("/\d*$/", "", $datei_ohne_endung);
while (file_exists("./backup/$datei_ohne_endung$i".".$endung")) {
$i++;
}
// in das Backup verschieben
$tofile="./backup/$datei_ohne_endung$i".".$endung";
rename($verzeichnis.$datei, $verzeichnis.$tofile);
Wie kann ich das verbessern? Bisher würde aus bild3.jpg nämlich falscherweise bild4.jpg im Backup.
Ansonsten funktioniert es schon. Es scheitert bisher daran, dass ich nicht die höchste Bild_index_zahl für den entsprechenden Dateinamen herausbekomme.
Grüße, KK