Bilder per Zufall anzeigen...

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

  • Bilder per Zufall anzeigen...

    Hi...

    ich habe einen Ordner -> Fotos, indem sind weitere Ordner mit jeweils den verschiedenen Alben.

    Wie kann ich jetzt per zufall täglich ein anderes Foto aus diesen Ordnern anzeigen lassen?

    ich hab mich schon umgeschaut habe aber nie das richtige Skript gefunden!

    könnt Ihr mir helfen?

    folgendes Skript gefällt mir ganz gut!

    aber da komm ich nicht in die 2te ebene der Ordner!

    PHP-Code:
    <?php 
    #This script has been developped by Nenad Motika [nmotika@bezveze.com]
    #Please feel free to use it and to contact me for any reason

    //read folder
    $folder=opendir("."); 
    while (
    $file readdir($folder)) 
    $names[count($names)] = $file
    closedir($folder);
    //sort file names in array
    sort($names);
    //remove any non-images from array
    $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++;}
    }
    //random
    srand ((double) microtime() * 10000000);
    $rand_keys array_rand ($names12);
    //random image from array
    $slika=$names1[$rand_keys[0]]; 
    //image dimensions
    $dimensions GetImageSize($slika); 
    if (isset(
    $pic)){header ("Location: $slika");}
    else {echo 
    "<img src=\"$slika\" $dimensions[3]>";}
    ?>

  • #2
    wie wähle ich per zufall einen Unterordner in einem Haupt-Ordner aus?
    das würde mir schon helfen!

    Kommentar


    • #3
      PHP-Code:
      $subdirs    = array();
      $dir opendir("Fotos/");
      while (
      false !== ($obj readdir($dir)))
        !
      preg_match("/^([\.]{1,2})$/i"$obj) && is_dir("Fotos/{$obj}")? $subdirs[] = basename($obj): null;
      closedir($dir);

      $album        $subdirs[rand(0count($subdirs) -1)])); 
      mfg,
      [color=#0080c0]Coragon[/color]

      Kommentar


      • #4
        ok das klappt ... DANKE

        der code:
        PHP-Code:
        <?php  
        $subdirs    
        = array();
        $dir opendir(".");
        while (
        false !== ($obj readdir($dir)))
          !
        preg_match("/^([.]{1,2})$/i"$obj) && is_dir("./{$obj}")? $subdirs[] = basename($obj): null;
        closedir($dir);

        $album $subdirs[rand(0count($subdirs) -1)];
        #This script has been developped by Nenad Motika [nmotika@bezveze.com]
        #Please feel free to use it and to contact me for any reason

        //read folder
        $folder=opendir("./$album"); 
        while (
        $file readdir($folder)) 
        $names[count($names)] = $file
        closedir($folder);
        //sort file names in array
        sort($names);
        //remove any non-images from array
        $tempvar=0;
        for (
        $i=0;$names[$i];$i++){
        $ext=strtolower(substr($names[$i],-4));
        if (
        $ext==".jpg"||$ext=="jpeg"){$names1[$tempvar]=$names[$i];$tempvar++;}
        }
        //random
        srand ((double) microtime() * 10000000);
        $rand_keys array_rand ($names12);
        //random image from array
        $slika=$names1[$rand_keys[0]]; 
        //image dimensions
        if (isset($pic)){header ("Location: $slika");}
        else {echo 
        "<img src=\"../foto/$album/$slika\">";}

        ?>
        aber wie mache ich es, dass nur die thumbs ausgewählt werden!?

        die thumbs beginnen alle mit "thn_"
        wo baue ich das in den code ein!?

        Kommentar


        • #5
          hm, warum so kompliziert ? mein stück lässt sich auf bilder genauso anwenden

          PHP-Code:

          <?php  
          $subdirs    
          = array();
          $dir opendir(".");
          while (
          false !== ($obj readdir($dir)))
            !
          preg_match("/^([.]{1,2})$/i"$obj) && is_dir("./{$obj}")? $subdirs[] = basename($obj): null;
          closedir($dir);

          $album $subdirs[rand(0count($subdirs) -1)];

          $imgs= array();
          $dir opendir("./{$album}");
          while (
          false !== ($obj readdir($dir)))
            !
          preg_match("/^thn_(.*)\.(jpeg|jpg)$/i"$obj) && is_file("./{$obj}")? $imgs[] = basename($obj): null;
            
          //                     ^--- dort in der preg_match kannst die angaben machen wie die dateien ungefähr heissen sollen: thn_*.jp(e)g
          closedir($dir);

          $thumb $imgs[rand(0count($imgs) -1)];

          // bei deinem restl code weiß ich nicht was er bezeckt ..
          // $album = verz. und $thumb = bildname
          // den rest solltest noch hinbekommen

          ?>
          Zuletzt geändert von Coragon Rivito; 22.05.2003, 12:06.
          mfg,
          [color=#0080c0]Coragon[/color]

          Kommentar


          • #6
            klappt bei mir nicht!!!

            in welchem Ordner muss das Skript dann laufen?

            ich hab es in www.domain.de/foto laufen.

            bei mir kommt immer ne leere Anzeige!

            den Ordner Ordner gibt er immer aus ...das klappt...
            aber das Bild $thumb wird nicht gefunden!
            Zuletzt geändert von Mistert77; 22.05.2003, 13:57.

            Kommentar


            • #7
              oh, da braucht eine zeile noch eine kleine änderung:

              PHP-Code:
                !preg_match("/^thn_(.*).(jpeg|jpg)$/i"$obj) && is_file("./{$obj}")? $imgs[] = basename($obj): null
              lass dir doch mal $subdirs, $album, $imgs, $thumb ausgeben ..
              mfg,
              [color=#0080c0]Coragon[/color]

              Kommentar


              • #8
                hab die Zeile ersetzt,

                hab das am schluss eingefügt:

                PHP-Code:
                echo"sub:$subdirs<br>album:$album<br>img:$imgs<br>th:$thumb"
                das wird ausgegeben:
                sub:Array
                album:udst02
                img:Array
                th:

                komisch oder?

                der gibt kein thumb aus!

                Kommentar


                • #9
                  arrays bitte mit print_r() ausgeben .. sonst kommt nur: 'array' was ma ned brauchen ..

                  sind denn im album udst02 thumbs vorhanden ?
                  also thn_*.jpg|jpeg .. wie du es gesagt hast ?

                  im code find ich sonst keinen fehler
                  mfg,
                  [color=#0080c0]Coragon[/color]

                  Kommentar


                  • #10
                    ok...

                    habs jetzt mit print_r() ausgegeben...

                    die Ordner werden alle in das array aufgenommen und ausgegeben...
                    aber bei den Bildern passiert nichts!!!

                    ja dort sind bilder drin die mit thn_ beginnen!

                    Kommentar


                    • #11
                      PHP-Code:
                      !preg_match("/^thn_(.*)\.(jpeg|jpg)$/i"$obj) && is_file("./{$album}/{$obj}")? $imgs[] = basename($obj): null
                      t'schulduigung .. hab wohl den pfad bei is_file() übersehen ..
                      wenns nun nicht tut, weiß ich nimmer ..
                      mfg,
                      [color=#0080c0]Coragon[/color]

                      Kommentar


                      • #12
                        jo klappt jetzt!!!

                        DANKE

                        Kommentar


                        • #13
                          hallo...

                          leider muß ich das Thema nochmal aufgreifen...
                          erstmal klappt es bei mir nicht mehr....
                          zweitens müßte ich das ganze erweitern, so daß ich 3 Fotos angezeigt bekomme!

                          Könnte mir jemand helfen das nochmal zusammenzusetzen?
                          Habs heute Mittag schon probiert... klappte nicht mehr!

                          Kommentar


                          • #14
                            ich hab das script auch mal getestet und es funzt fast so wie ich es gerne hätte.
                            ich möchte nämlich das er mir alle bilder ausgibt die ein thn_ vornedran haben. er gibt mir jetzt aber nur immer die normalen bilder aus. also alle ausser die mit thn_ vornedran. was muss ich denn ändern?

                            EDIT:
                            so hab jetztmal das " ! " weggenommen und jetzt scheints zu klappen. bin mir aber nciht sicher ob das der richtige weg ist
                            Zuletzt geändert von PHPbeginner; 12.12.2003, 19:36.

                            Kommentar


                            • #15
                              Könnte mir jemand helfen?

                              wie kann ich 3 ordner per zufall in einem bestimmten Unterordner bestimmen?

                              Kommentar

                              Lädt...
                              X