ZufallsBild - Problem: Nicht die selbe Ausgabe hintereinander !

motty

Gesperrt
Hey Mädels ;P

Also da ich es mehr mit Webdesign zu tun habe, bitte ich euch nun in php um Hilfe ... Ist für euch wahrscheinlich nen klacks ;P

Brauche fuer die seite ganz einfach ZufallsBilder die aus einem Ordner "Wechsel" geladen werden ;P Das hab ich ja noch ganz easy hingekriegt ;P
Wie sage ich ihm aber nun, dass er nie das selbe Bild nacheinander ausgibt! Also, dass sich nie das gleiche Bild sofort nochmal wiederholt ;P Danachg darf es aber wieder erscheinen ;P Also nie Bild1 -> Bild1 sondern mindestens: Bild1 -> Bild23 -> Bild1 weitr möglich ist ;P

Was muss ich hier jetzt noch hinzufuegen, dass es klappt ?
_______________________

<?
$foto = array();
$ordner = "Wechsel";
$handleordner=opendir ($ordner);
while (false != ($file = readdir ($handleordner)))
{
if ($file != "." && $file != ".."){
array_push($foto,"<IMG SRC = 'Wechsel/$file' BORDER = '0'>");
}
}
closedir($handleordner);
shuffle($foto);
echo $foto[0];
?>

________________________________________________________


DANKE IM VORRAUS !
 
Versteh Ich nicht ganz. Du schreibst doch jedes Bild nur einmal in Array. Und mischt das denn alles.
Da kann doch denn garnicht ein Bild doppelt kommen. Es sei denn Du hast zwei mal das gleiche Bild im Ordner!
 
na pass auf ;p also ich habe einfach nen refresh button dadurch wird natuerlich eins von all diesen bildern da angezeigt ;P ich will eben nur nicht das wenn das bild1 ausgewuerfelt wurde bei nächsten versuch wieder die 1 dran ist ! danach darf sie aber wieder rankommen ;P
 
Dann schreib doch einfach den Bilder namen in eine Variable und vergleich das dann mit dem nächsten Bild beim nächsten mal. Wenns das gleiche Bild wieder ist, soll er eins weiter gehen.


Gruß
 
Also ungefähr so:
PHP:
<?
$foto = array(); 
$ordner = "Wechsel"; 
$handleordner=opendir ($ordner); 
while (false != ($file = readdir ($handleordner))) 
{ 
if ($file != "." && $file != ".."){ 
array_push($foto,"<IMG SRC = 'Wechsel/$file' BORDER = '0'>"); 
} 
} 
closedir($handleordner); 
shuffle($foto);

$fp = fopen("lastpic.txt", "r");
$picold = fgets($fp);
fclose($fp);

$fp = fopen("lastpic.txt", "w");
if ($foto != $picold) {
	echo $foto[0];
	fwrite($fp, $foto[0]);
} else {
	echo $foto[1];
	fwrite($fp, $foto[1]);
}
fclose($fp);

 
?>

Dann solltest Du aber Trotzdem keine zwei gleichen Fotos im Ordner haben! OK?
 
Hey :)

finde, dass es ein wenig aufwendig ist, wenn man jedes mal eine TXT Datei öffnen, beschreiben und wieder schließen muss... Am besten du beschreibst eine Session :) Außedem ist das Blöd, wenn bei User A Bild 1 ausgewürfelt, in die Txt geschrieben wird, wird bei einem User B auf jeden Fall nicht Bild 1 beim ersten mal angezeigt ... :) naja ich denke mal, dass eine Session zu berschreiben, eine bessere Lösung wäre :)

Greetz Kon
 
Könnte man natürlich auch machen. Habe garnicht an UserB gedacht, muss ich zugeben.
Man könnte es auch in einen Cookie schreiben. Da gibt es viele Möglichkeiten, denke ich.

Ich habe ihm aber nur ein Beispiel zum Prinzip gegeben. Wie er es im endeffekt löst ist seine Sache.
Aber ich muss dir zu stimmen ... mit einer Session ist man besser dabei!
 
Zurück