hallo leute,
ich sitz mittlerweile schon eine ganze weile an einem nervigen problem. und zwar
geht es um fileupload/gd. ich gebe dem user die möglichkeit ein bild zu erstellen und
dieses dann auf dem server zu speichern. nun will ich die speicherroutine automatisch,
ohne dass der user einen namen angeben muss, realisieren. dazu existiert ein verzeichnis,
in dem alle (von allen usern) erstellten bilder liegen.
lädt jetzt ein user ein bild hoch und will es speichern, schaue ich in dem verzeichnis nach, ob
der filename bereits vorhanden ist. wenn ja, dann soll eine 0 als suffix angehängt werden
(so: bild0.jpg). sollte dieser name allerdings auch schon vorhanden sein, muss der name
zu bild1.jpg werden un so weiter...
meine funktion dazu lautet
function checkFilename($filename, $suffix)
{
$Pr_Su_X = strrpos ($filename, ".");
$FilePraefix = substr($filename,0,$Pr_Su_X);
$FileSuffix = substr($filename,$Pr_Su_X + 1);
$posFilename = $FilePraefix.$suffix.".".$FileSuffix;
$temp_verz = @opendir ('temp');
while($f_name=@readdir ($temp_verz))
if($f_name == $posFilename)
checkFilename($filename, $suffix + 1);
else $xx = $posFilename;
// echo $posFilename
return $xx;
}
so wie sie oben jetzt abgebildet ist bekomme ich immer das ergebnis bild0.jpg. egal, ob dieses
im verzeichnis bereits vorhanden ist oder nicht.
--
wenn ich den kommentar aktiviere, bekomme ich zu sehen, dass der code, der da steht, mehrmals
ausgeführt wird. der RICHTIGE wert (bildname) wird also wieder überschrieben.
--
zum einen verstehe ich nicht, weswegen an der stelle (kommentar) der code mehrmals aufgeführt
wird, und zum anderen wüsste ich gerne, ob man einfach eine abbruchbedingung einbauen kann.
für jegliche denkanstöße oder auch lösungswege bin ich sehr dankbar
mfg
comunicout
fütter mein ego !\nwelcome to electro-smog therapy\n