Bilder Zufallsgenerator gibt falsches Bild zurück
budda
- php
Hi,
in dem Ordner "images/spam-schutz" befinden sich NUR Bilder. Mit der zufallsbild() function möchte ich immer irgendein Bild aus dem Ordner nehmen und dass dann echo'n.
Die function funktioniert perfekt aber manchmal gibt sie immer ein Bild zurück, dass es schon lang nicht mehr gibt (3420d63b3e8d573c9abcfcdc6c521f91.gif) und manchmal auch eine Datei, die gar kein Bild ist, obwohl in dem Ordner nur Bilder sind (Thumbs.db).
Weiß jemand woran das liegen könnte?
PS: ich habe die Bilder in dem Ordner alle mit md5() umbenannt, deswegen die langen Namen.
function zufallsbild()
{
$verzeichnis = "images/spam-schutz";
if($verzeichniszeiger = opendir($verzeichnis)) {
while(false !== ($datei = readdir($verzeichniszeiger))) {
if(is_file($verzeichnis."/".$datei)) {
$dateien[] = $datei;
}
}
closedir($verzeichniszeiger);
}
$echobild = $dateien[rand(0, count($dateien)-1)];
return $echobild;
}
$bild = zufallsbild();
echo "<img src='images/spam-schutz/$bild' />";
3420d63b3e8d573c9abcfcdc6c521f91.gif
Thumbs.db ist eine von Windows automatisch generierte Datei, welche die sogenannte Miniaturansicht zu beschleunigen hilft. Unter "Extras/Ordneroptionen/Ansicht" kannst du deren Erstellung mit "Miniaturansichten nicht zwischenspeichen" deaktivieren.
Übrigens würde ich dir raten das Array $dateien als solches zu initialisieren. [$dateien = array()]. Wenn die Datei mit eingefügt wird, die du gelöscht glaubst wird sie im Ordner zu finden sein. Lass dir einmal versteckte Dateien anzeigen, das hilft oft.
Grüße.