Der Martin: Per htaccess auf zufälliges Bild umleiten

Beitrag lesen

Hallo,

Dazu musst du dir überlegen, was alles schief gehen kann. Das machen viele leider nicht, woraus dann nicht robuster Code resultiert.

eine offensichtliche potentielle Fehlerquelle im vorliegenden Beispiel: Was passiert, wenn überhaupt keine passenden JPEG-Dateien im Verzeichnis gefunden werden? Dann liefert

$_images = glob('bild-??.jpg');

ein leeres Array. Das ist nicht weiter schlimm, aber man sollte diese Situation abfragen. Andernfalls würde

count($_images)-1

negativ werden und das Ergebnis von

$r = rand(0,(count($_images)-1));

undefiniert. Jedenfalls konnte ich keinen Hinweis finden, wie rand() reagiert, wenn $max<$min ist. Aber egal was für $r dabei rauskommt, man greift auf ein nicht existierendes Arrayelement zu:

readfile($_images[$r]);

Spätestens hier gibt's eine Notice, weil $_images[$r] nicht existiert, und zusätzlich einen echten Fehler, weil readfile() keinen sinnvollen Dateinamen bekommt.

[*] Am besten ist wohl, wenn du dir jemanden vorstellst, der noch weniger Ahnung hat als du selbst, und ihm verständlich zu erklären versuchst, was dein Code macht. Das schärft auch den Blick für Details.

Ja, das ist eine sehr gute Methode, die ich auch gern und oft anwende.

Ciao,
 Martin

--
Ordnung ist, wenn man etwas findet, was man gar nicht sucht.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(