Zufallsbilder die 10.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zufallsbilder die 10.

    Also wir man jetzt dann vielleicht an dem Script erkennt, ist er zusammengebastelt wurden aus 2 verschiedenen Themen. Einmal Dateienanzahl in einem Ordner und dann Zufallsbilder.

    Sinn und Zweck:

    Es sollen ca. 6 Zufallsbilder geladen werden die dann als Link zu einer Gallery führen sollen. Um nicht immer den Script updaten zu müssen, soll der halt auslesen wieviele Dateien im Ordner drin san, um halt dann immer von den Dateien 6 rauszuholen.

    PHP Code:
    <?php
    include("head.php");

    //Variablen f&uuml;rs Datenz&auml;hlen
    $filecount   0;
    $verzeichnis "./mein-pc/";
    $open_dir    opendir($verzeichnis);

    //z&auml;hlen
    while($filename readdir($open_dir))
     {
     if(
    $filename != "." && $filename != ".." && is_file($verzeichnis."/".$filename)) $filecount++;
     }
    closedir($open_dir);

    //Dateienpaare (die erste zeile is dann fürn endscript)
    #$daten = ceil($filecount / 3);
    $daten $filecount-1;

    //Variablen
    $pics = array();
    $min  1;

    while(
    count($pics) < 5)
     {
     
    $pic rand($min,$daten);
     if(!
    in_array($pic,$pics)) $pics[] = $pic;
     }
    foreach(
    $pics AS $picid);

    #echo $picid;

    #echo $picid[1];  # <-- weiß ned ob des so geht?!
    #echo $picid[2];
    #echo $picid[3];
    #echo $picid[4];
    #echo $picid[5];

     
    echo '<img src="'.$verzeichnis.'img-'.$picid.'.jpg">';
    include(
    "end.php");
    ?>
    so der soll die dateien jetzt aber nicht gleich ausgeben sondern in variablen speichern, damit ich sie dann nachher selber an die passenden stellen einfügen kann.

    naja jedenfalls so dann nachher der bilderlink so aussehen

    PHP Code:
    echo '<a href="#" onClick="window.open(\'gallery.php?id='.$id.'\', \'Name\',\'toolbar=no,status=no,menubar=no,width=840,height=640\')"><img src="'.$verzeichnis.'img-'.$id.'.jpg</img></a>'

  • #2
    wie wärs denn mit: order by rand() LIMIT 6
    mfg
    marc75

    <Platz für anderes>

    Comment


    • #3
      @marc75
      putz mal deine glaskugel ... siehst du irgendwo ne mysql_query ?

      @enzio
      ich weiss ja nicht wie du das zuammengeklöppelt hast, aber tu's besser wech

      - liess die dateinamen aus dem ordner aus => opendir(), readdir()
      - pack die namen in ein array => array_push() (zB)
      - rüttel das array durch => shuffle()
      - gib 6 namen/links aus => for() + echo
      oder
      - weise die 6 dateien je einer variablen zu oder einem neuen array oder ...

      btw: bevor du rand() einsetzt, solltest du srand() bzw mt_srand() einsetzen
      Kissolino.com

      Comment


      • #4
        btw: bevor du rand() einsetzt, solltest du srand() bzw mt_srand() einsetzen
        ist afaik bei neueren versionen von php nicht mehr notwendig ...
        Die Zeit hat ihre Kinder längst gefressen

        Comment


        • #5
          Original geschrieben von derHund
          ist afaik bei neueren versionen von php nicht mehr notwendig ...
          OffTopic:
          ausrede: bleibe gerne abwärtskompatibel
          notiz an mich: öfter ins manual schauen.
          Kissolino.com

          Comment


          • #6
            Original geschrieben von Wurzel
            OffTopic:
            ausrede: bleibe gerne abwärtskompatibel
            notiz an mich: öfter ins manual schauen.
            OffTopic:
            habs auch nur letztens gelesen, weiß garnicht, wos steht ...
            Die Zeit hat ihre Kinder längst gefressen

            Comment


            • #7
              har har...

              ... wenn mir einer sagt wie ich es lösen soll dann check ich es wenigstens auch

              danke @wurzel

              mein script schau jetzt so aus:

              PHP Code:
              <?
              //Variablen
              $bilder = array();
              $verzeichnis = opendir("../mein-pc/");

              //Whileschleife
              while ($daten = readdir ($verzeichnis)) 
               {
               if($daten != "." && $daten != ".." && substr($daten, 0, 9) == "thumbnail") array_push ($bilder, $daten);
               }
              closedir($verzeichnis);

              //Array durchmischen und 6 Bilder ausgeben
              srand ((float)microtime()*1000000);
              shuffle($bilder);
              echo $bilder[1]."<br>";
              echo $bilder[2]."<br>";
              echo $bilder[3]."<br>";
              echo $bilder[4]."<br>";
              echo $bilder[5]."<br>";
              echo $bilder[6]."<br>";
              ?>
              funzt eigentlich ganz gut

              merci

              Comment


              • #8
                na bitte, geht doch

                jetzt schmeisst du noch das "srand" raus, ist unnötig für shuffle()
                und wirkt sich auch nicht darauf aus ... die bildausgabe kannst du
                auch in einer schleife
                PHP Code:
                for($i=0;$i<$maxwert;$i++) 
                anzeigen lassen, ist flexibler und fingerschonender.
                Kissolino.com

                Comment

                Working...
                X