Ankündigung

Einklappen
Keine Ankündigung bisher.

Zufallsauswahl von Bildern mit php

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zufallsauswahl von Bildern mit php

    Hallo,

    ich suche eine Funktion mit der ich aus einem Pool an Bildern in einem Ordner auf dem Webserver per Zufall mir Hintergrundbilder in meine Seite integrieren kann.

    Hat jemand eine Idee?
    lg ePole


  • #2
    PHP-Code:
    $bilder = array();

    /*Verzeichnis auslesen und Bilder in $bilder packen*/

    $hintergrundbild $bilder[rand(0count($bilder) - 1)]; 
    Es ist schon alles gesagt! Nur noch nicht von allen! (Karl Valentin)
    Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)

    Kommentar


    • #3
      PHP-Code:
      <?php 
      $folder
      =opendir("."); 
      while (
      $file readdir($folder)) 
      $names[count($names)] = $file
      closedir($folder);
      sort($names);
      $tempvar=0;
      for (
      $i=0;$names[$i];$i++){
      $ext=strtolower(substr($names[$i],-4));
      if (
      $ext==".jpg"||$ext==".gif"||$ext=="jpeg"||$ext==".png"){$names1[$tempvar]=$names[$i];$tempvar++;}
      }
      srand ((double) microtime() * 10000000);
      $rand_keys array_rand ($names12);
      $slika=$names1[$rand_keys[0]]; 
      $dimensions GetImageSize($slika); 
      if (isset(
      $HTTP_GET_VARS["pic"])){header ("Location: $slika");}
      else {echo 
      "<img src=\"$slika\" $dimensions[3]>";}
      ?>
      Kleines Beispiel. Über google wirst noch deutlich mehr finden.

      Wolf29

      @Dennis81: An die Möglichkeit hab ich jetzt gar nicht gedacht. Ist natürlich viel eleganter
      while (!asleep()) sheep++;

      Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

      Kommentar


      • #4
        Vielen Dank, das wird mir helfen

        Kommentar


        • #5
          Zitat von dennis81 Beitrag anzeigen
          PHP-Code:
          $bilder = array();

          /*Verzeichnis auslesen und Bilder in $bilder packen*/

          $hintergrundbild $bilder[rand(0count($bilder) - 1)]; 
          ich habe es mal analog dazu versucht, aber da läuft irgendetwas schief. ich bekomme alles zwischen 1 und 3 angezeigt, aber die 4 nie. und manchmal wird sogar nichts ausgegeben. wo liegt hier der fehler?

          PHP-Code:
          $bilder = array(
                      
          '1' => '1',
                      
          '2' => '2',
                      
          '3' => '3',
                      
          '4' => '4');
                      
              
              
          $hintergrundbild $bilder[rand(0count($bilder) - 1)]; 
              echo 
          $hintergrundbild

          Kommentar


          • #6
            Weil dein Array bei Index 1 beginnt und du dir die Zahlen 0-3 generieren lässt...
            Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

            Kommentar


            • #7
              Probier mal den hier:
              PHP-Code:
              shuffle($bilder);
              echo 
              $bilder[0]; 
              Competence-Center -> Enjoy the Informatrix
              PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

              Kommentar


              • #8
                Zitat von lstegelitz Beitrag anzeigen
                Weil dein Array bei Index 1 beginnt und du dir die Zahlen 0-3 generieren lässt...

                OK, das mit 0 habe ich verstanden, aber woran siehst du das ich bis drei generieren lasse?

                Kommentar


                • #9
                  PHP-Code:
                  rand(0count($bilder) - 1
                  Erzeugt eine Zufallszahl zwischen 0 und "Anzahl der Array-Elemente minus eins"
                  Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                  Kommentar


                  • #10
                    benutz doch einfach array_rand() um ein zufälliges Element aus dem Array zu ermitteln
                    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                    Kommentar


                    • #11
                      Zitat von lstegelitz Beitrag anzeigen
                      PHP-Code:
                      rand(0count($bilder) - 1
                      Erzeugt eine Zufallszahl zwischen 0 und "Anzahl der Array-Elemente minus eins"
                      aaahhh...verstehe, das ist natürlich von mir dumm überlegt, denn ich hole mir das array aus meiner mysql db und wenn ich dort einen wert lösche wird alles verfälscht...hmmm

                      PHP-Code:
                      $abfrage "SELECT * FROM background";
                              
                      $ergebnis mysql_query($abfrage);
                              
                              
                      $bilder = array();
                              while (
                      $row mysql_fetch_array($ergebnis)) {
                              
                      $bilder[$row['id']] = $row['bg'];
                      }  
                          
                      $hintergrundbild $bilder[rand(2count($bilder) - 1)]; 

                          echo 
                      '<body background="data/bg/'; echo $hintergrundbild; echo '">'
                      kann ich soetwas irgendwie abfangen?

                      Kommentar


                      • #12
                        Hirn einschalten und selbst denken!

                        [MOD: Thread geschlossen]
                        --

                        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                        --

                        Kommentar

                        Lädt...
                        X