[PHP] Zufallsbild Problem

dr-chiller

Cadet 4th Year
Registriert
Okt. 2004
Beiträge
98
Hi,

ich habe ein Problem mit meinem Zufallsbildscript. Das Problem ist das mir letztendlich kein Bild dargestellt wird. Das img-Tag sieht so aus.

Code:
<img border="0" src="bilder/party/Jesus_Party/" width="186" height="140">


Aber hier erstmal was Allgemeines dazu.

Das Script hat die Aufgabe aus einem Verzeichniss ein Bild zu nehmen und das anzuzeigen. Die Bilder heissen z.b DSCN1004.jpg und das thumb dazu heisst dann DSCN1004_thumb.jpg . Jetzt will ich ein x-beliebiges thumb anzeigen, nur will das nicht gehen.
Die thumbs MÜSSEN _thumb heissen, eine andere Variante gibt es nicht, es muss also so gehen.
Hier der Code

PHP:
<?php

$dir = "Jesus_Party";

$handle=opendir('bilder/party/$dir/');
$Count = 0;
while ($file = readdir ($handle))
 {
  
  $Suchstring = '_thumb';
  if($file !== "." && $file !== ".." && $file !== "" && eregi('$file', $Suchstring))
   {
    $Pics[$Count] = $file;
    $Count++;
   }
 }

$Zufallszahl = rand(0, $Count);

echo  "<center><a href=\"index.php?page_content=../bilder/galerie&location=$dir&pic=bild_id_\">   <img border=\"0\" src=\"bilder/party/";
echo "$dir/";
echo $Pics[$Zufallszahl];
echo "\" width=\"186\" height=\"140\"></a></center>";

?>

Lasse ich mir $Count und $Zufallzahl ausgeben kriege ich die Werte 0 und 0.

Hat jemand da ne Idee was ich da machen kann ?

Danke im Vorraus.
 
Zuletzt bearbeitet:
Stringvergleich "!=" und nicht "!==" benutzen.
Achja und zum debuggen kannste dir die einzelnen Ifs mal in vorher in Variablen speichern und ausgeben lassen.
 
danke für deinen Tipp, nur leider hilft das auch nicht !
 
Es MUSS aber definitiv an deiner IF Bedingung liegen. Da ist der Fehler zu finden. Mach das mal mit den Variablen und lass dir das ausgeben, oder schachtel das in mehrere IFs und schreib Debug Infos rein "echo 'erste schleife";" oder so. Dann siehst du ja woran er scheitert :)

Wie oft führt er die while denn aus?
 
Da Count 0 ergibt, kein mal, also liegt das Prob an der while bedingung,

hab aber keine Ahnung ob die eregi funktion so klappt
 
V1tzl1 schrieb:
Da Count 0 ergibt, kein mal, also liegt das Prob an der while bedingung,

hab aber keine Ahnung ob die eregi funktion so klappt

Er kann die while Schleife trotzdem 1000 mal ausführen und Count ist immernoch 0 :)
 
Hmm stimmt, mein fehler sorry, um das rauszufinden müsste man nen 2. Counter direkt in die While schleife einbauen, unverschachtelt
 
auch mit PupperMasters lösung geht es nicht !
 
dr-chiller schrieb:
auch mit PupperMasters lösung geht es nicht !

Hast du denn mittlerweile mal das gemacht was ich dir schon 2 mal vorgeschlagen habe? Die Bedingungen mal einzeln getestet und dir die Resultate angeguckt? Erwarte hier bitte nicht, dass dir das Script einer neu schreibt. Die Arbeit musst du dir schon selbst machen.
 
Zurück
Oben