Bild nach Zeit

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

  • Bild nach Zeit

    Moin!

    Ich wollte gerne folgende Funktion auf meiner HP einbinden:

    Uhrzeitabhängig soll aus einem Unterordner ein Zufälliges Bild angezeigt werden.

    Bsp:
    10-13 Uhr ein Bild aus dem Ordner ./vormittag/

    Jemand nen Vorschlag zur Realisierung?

    Danke

  • #2
    mit date() und einer if Abfrage!
    Für Rechtschreibfehler übernehme ich keine Haftung!

    Kommentar


    • #3
      ... oder switch für versch. Zeiten

      Kommentar


      • #4
        Sorry, also mit date und if bzw. switch ist ok.
        Mein genaueres Problem liegt in der Zufallsauswahl.

        Die Auswahl würde über eine weitere *.php Datei in dem jeweiligen Verzeichnis liegen, d.h. dass ich sie nicht mit echo aufrufen kann, oder?

        Ist das verständlich was ich hier schreibe?

        Kommentar


        • #5
          wenn die Dateinamen z.B. Zahlen sind dann kannst du mit rand Zufallzahlen erzeugen, oder du legst die Dateinamen in Array ab und spielt mit rand um den ArrayIndex zu ermitteln.

          Kommentar


          • #6
            Bisher läuft es so:

            PHP-Code:
            <?php
            $array
            [1]='<a href="./my/v2/index.php"><img src="./morgens/chairs.jpg" border="0"></a>';  // Bild für Morgens
            $array[0]='<a href="./my/v2/index.php"><img src="./mittags/skate.jpg" border="0"></a>';  // Bild für Mittags
            $array[2]='<a href="./my/v2/index.php"><img src="./abends/abends.jpg" border="0"></a>';  // Bild für Abends
            $array[3]='<a href="./my/v2/index.php"><img src="./nachts/emergency.jpg" border="0"></a>';  // Bild für Nachts
            // Jetzt kommt der Eigentliche Teil
            if(date("H")>=AND date("H")<12) {
              
            $arr=$array[1];
            } elseif(
            date("H")>=12 AND date("H")<18) {
              
            $arr=$array[0];
            } elseif(
            date("H")>=18 AND date("H")<23) {
              
            $arr=$array[2];
              } elseif(
            date("H")>=23)  {
              
            $arr=$array[3];
            } elseif(
            date("H")>=00 AND date("H")<6) {
              
            $arr=$array[2];
              }else {
              
            $arr=$array[2];
            }
            echo 
            $arr;
            ?>
            Ich schnall nur nicht wie ich was anpassen muß um auf mein "ich zeig mal ein bild" script zugreifen kann zeitgesteuert.

            Denn:

            PHP-Code:
            <?php
            $array
            [1]='<a href="./my/v2/index.php"><img src="./morgens/zufall.php" border="0"></a>';  // Bild für Morgens
            $array[0]='<a href="./my/v2/index.php"><img src="./mittags/zufall.php" border="0"></a>';  // Bild für Mittags
            $array[2]='<a href="./my/v2/index.php"><img src="./abends/zufall.php" border="0"></a>';  // Bild für Abends
            $array[3]='<a href="./my/v2/index.php"><img src="./nachts/zufall.php" border="0"></a>';  // Bild für Nachts
            // Jetzt kommt der Eigentliche Teil
            if(date("H")>=AND date("H")<12) {
              
            $arr=$array[1];
            } elseif(
            date("H")>=12 AND date("H")<18) {
              
            $arr=$array[0];
            } elseif(
            date("H")>=18 AND date("H")<23) {
              
            $arr=$array[2];
              } elseif(
            date("H")>=23)  {
              
            $arr=$array[3];
            } elseif(
            date("H")>=00 AND date("H")<6) {
              
            $arr=$array[2];
              }else {
              
            $arr=$array[2];
            }
            echo 
            $arr;
            ?>
            funktioniert nicht!?

            ------------------------

            Zur Info der Code der zufall.php

            PHP-Code:
            <?php 

            //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 (
            $pic==random){header ("Location: $slika");}
            else {echo 
            "<img src=\"$slika\" $dimensions[3]>";}
            ?>

            Kommentar


            • #7
              du kannst den zufallsgenerator mittels srand initialisieren ... wenn du als parameter die zb. aktuelle stunde übergibst, wird jede stunde ein neuer startwert fürs rand genommen, ==> innerhalb einer stunde wird immer der selbe startwert genommen, für minütige änderungen müßtest du halt minuten zu grunde legen, für tägliche, ... naja, sollte klar sein ...

              wenn du alle vier stunde nen wechsel willst, müßtest du die aktuelle stunde (whatever) durch 4 teilen, und diesen wert als startwert nehmen ...

              wars das?
              Die Zeit hat ihre Kinder längst gefressen

              Kommentar


              • #8
                ok, alles klar.

                Danke für die schnelle Hilfe!

                Zuletzt geändert von ecto; 16.02.2004, 17:56.

                Kommentar

                Lädt...
                X