Bild Ordner auslesen und zufällige Bilder auswählen für Ausgabe

djnelly

Erfahrenes Mitglied
Hallo..

ich habe ein phpscript für ein Flashmovie:

PHP:
<?
$verzeichnis = dir("galerie/");
$zaehler = 0;
while($eintrag=$verzeichnis->read())
if($eintrag != "." && $eintrag != "..") {
	$zaehler++;
	$bildnamen .= "bild".$zaehler."=".$eintrag."&";
	$anzahl = $zaehler;
	if($zaehler == 10) { break; }
}
echo $bildnamen."anzahl=".$zaehler;
?>

Mit diesem Script bekomme ich es genau so, wie ich es brauche. Nun mein Problem:

Mir würde es eher gefallen, wenn er die 10 Bilder, die er nehmen soll, zufällig auswählt und nicht in der Reinfolge, wie sie im ordner liegen.
So habe ich das Problem, dass bei meiner Ani immer die gleichen ersten 10 bilder vorhanden sind. Schöner wäre es, wenn man das script so ändern könnte, dass es 10 zufällig bilder nimmt und diese in der Formatierung, wie oben aufgezeigt ausgibt.

Vielleicht kann mir einer helfen..

Danke
 
Ok, ich weis nicht obs dir wirklich weiterhilft, denn es wird 1. ziemlich lange dauern den script auszuführn, und 2. hab ichs jetzt nicht getetest, aber siehs als Denkanstoß an :)
Code:
<?
$verzeichnis=dir("galerie/");
$i=0;
while($eintrag=$verzeichnis->read())
{
  if($eintrag != "." && $eintrag != "..") 
  { 
    $i++;
  }
}
$namen=array();
$n=0;
while($eintrag=$verzeichnis->read())
{
  if($eintrag != "." && $eintrag != "..") 
  { 
    $name="bild".$n."=".$eintrag;
    while($done==false)
    {
      $rand=rand(0,$i);
      if($namen[$rand]=="" OR $namen[$rand]==NULL)
      {
        $namen[$rand]=$name;
        $done=true;
      } else {
        $done=false;
      }
    }
    $done=false;
  }
  $n++;
}
foreach($namen as $name)
{
  echo $name."&";
}
?>
 
Zurück