"Funktion" Zufallsbild funktioniert nicht

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • "Funktion" Zufallsbild funktioniert nicht

    hallo zusammen

    ich möchte aus verschiedenen gallerien ein zufallsbild auslesen!
    irgend ein denkfehler mache ich!!
    aber was stimmt da nicht??

    danke
    marco



    PHP-Code:
    <?php
    function zufall($z) { 
    $dir1 opendir($z);
    while(
    false !== ($file1 readdir($dir1))){
        if(!
    preg_match("/^\.{1,2}$/",$file1)){
            
    $myfile1[] = $file1;
        }
    }
    closedir($dir1);
    $rand array_rand($myfile1,1);
    echo 
    "<img width=60 src=\"$dir1".$myfile1[$rand]."\">";
    }
    ?>
    eingefügt wird die funktion mit:


    PHP-Code:
    <?php echo zufall("gallery/ferien"); ?>

  • #2
    mit glob() hast du die dateien eines ordner schnell in einem array sitzen, aus dem du schnell ein zufallselement holen kannst.

    dafür würde ich rand() zum bestimmen eines zufälligen index nehmen. es ist schneller, als das ganze array zu verändern.

    Kommentar


    • #3
      ich bin da nicht so der php-profi!!
      was muss ich beachten!!

      PHP-Code:

      <?php
      $images 
      glob("/gallery/ferien{*.jpg}");
      ?>

      Kommentar


      • #4
        Original geschrieben von arnold
        was muss ich beachten!!
        die verwendung von satztrennzeichen, wie z.b. dem fragezeichen. und eine konkrete fragestellung.

        Kommentar


        • #5
          er meint anstatt array_rand() sollest du das so machen:

          PHP-Code:
          $i=rand(0count($deinbilderarray)-1); // Damit wird ein zufälliger Index ermittelt, der zwischen 0 und der Anzahl der Arrayelemente liegt.

          echo "<img src=\"".$deinbilderarray[$i]."\">"
          das war jetzt nur ein Besipiel, wie immer ohne garantie auf Fehlerfreiheit

          Kommentar


          • #6
            man kann direkt ein wert mit einem zufallsgenerator auslesen lassen:
            PHP-Code:
            echo "<img src=\"" array_rand($deinbilderarray,1) . "\">"
            http://de3.php.net/manual/de/function.array-rand.php
            Zuletzt geändert von Pool; 29.12.2004, 23:29.
            Alle Angaben sind ohne Gewähr, Anspruch auf Ersatz besteht nicht, distanziere mich von jeglichem Bösen, was mein Code anstellen könnte, kann, tut, getan hat und tun wird.
            Ebenso sind Rechtschreibfehler beabsichtigt und können bei Auffinden behalten werden.

            Kommentar


            • #7
              Original geschrieben von arnold
              was muss ich beachten!!
              Insbesondere dass Du dich mit glob() stark in der Abwärtskompatibilität einschränkst ... (>=4.3.0)!
              carpe noctem

              [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
              [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

              Kommentar


              • #8
                Original geschrieben von Pool
                man kann direkt ein wert mit einem zufallsgenerator auslesen lassen:
                PHP-Code:
                echo "<img src=\"" array_rand($deinbilderarray,1) . "\">"
                http://de3.php.net/manual/de/function.array-rand.php
                ja ist schon klar, aber wie penizillin doch gesagt hat, ist das dafür viel zu wuchitg und performance raubend

                Kommentar

                Lädt...
                X