backlash
Mitglied
Hallo,
Ich plane ein Script welches ein Verzeichnis, welches zuvor an die Funktion übergeben wurde rekursiv nach dateien durchsucht, und selbige dann an ein weiteres Programm übergibt.
Wird ein Sub-Ordner erkannt, ruft sich die Funktion selbst mit den neuen Pfadangaben erneut auf.
Das Funktioniert alles soweit einwandfrei.
Mein Problem vor welchem ich derzeit stehe, stellt sich wie folgt dar:
Während ein Verzeichnis eingelesen wird, sollen im gleichen Zuge auch die Dateien durchnummeriert & umbenannt werden. Letzteres übernimmt das Programm an welches übergeben wurde.
Problemstellung ist nun nur, das zwar, solange wie sich die Funktion nicht selbst wieder aufruft, die Nummerierung klappt. Wird aber das Verzeichnis gewechselt, folgend dadrauf auch die Funktion erneut auferufen, so beginn die Zählung wiedr bei "null".
Ich wäre für Lösungsvorschläge dankbar.
Ich plane ein Script welches ein Verzeichnis, welches zuvor an die Funktion übergeben wurde rekursiv nach dateien durchsucht, und selbige dann an ein weiteres Programm übergibt.
Wird ein Sub-Ordner erkannt, ruft sich die Funktion selbst mit den neuen Pfadangaben erneut auf.
Das Funktioniert alles soweit einwandfrei.
Mein Problem vor welchem ich derzeit stehe, stellt sich wie folgt dar:
Während ein Verzeichnis eingelesen wird, sollen im gleichen Zuge auch die Dateien durchnummeriert & umbenannt werden. Letzteres übernimmt das Programm an welches übergeben wurde.
Problemstellung ist nun nur, das zwar, solange wie sich die Funktion nicht selbst wieder aufruft, die Nummerierung klappt. Wird aber das Verzeichnis gewechselt, folgend dadrauf auch die Funktion erneut auferufen, so beginn die Zählung wiedr bei "null".
Ich wäre für Lösungsvorschläge dankbar.
PHP:
<?php
function make_album($ordner, $album, $i) {
if(!@dir("/home/directory/thumb/".$album))
{
mkdir ("/home/directory/thumb/".$album );
}
$handle = opendir($ordner);
while ($file = readdir ($handle)) {
if($file != "." && $file != "..") {
if(is_dir($ordner."/".$file)) {
echo "make_album($ordner/$file, $album, $i)\n";
make_album($ordner."/".$file, $album, $i);
} else {
$i++;
$name = "img".$i;
$compl = ($ordner."/".$file);
$ext = array_pop(explode('.', $file));
//echo "Erstelle Thumbnail von Datei ".$ordner."/".$file."\n\n";
shell_exec ("convert -size 150x113 \"".$ordner."/".$file."\" -resize 150x113 +profile '*' \"/home/directory/thumb/".$album."/".$name.".".$ext."\"");
//echo "Passe Größe von Datei ".$ordner."/".$file." an.\n\n";
shell_exec ("convert -size 640x480 \"".$ordner."/".$file."\" -resize 640x480 +profile '*' \"/home/directory/thumb/".$album."/tn_".$name.".".$ext."\"");
//@unlink($compl);
// echo "Originaldatei ".$compl." gelöscht.\n\n\n";
echo $i."\n";
}
}
}
closedir($handle);
}
make_album("/home/directory/thumb/bild", "test", "0");
Zuletzt bearbeitet: