Zufallsbild nach gewisser zeit ändern

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

  • Zufallsbild nach gewisser zeit ändern

    Verfasst am: So, 03.12.2006 12:26 Titel: Zufallsbild nach gewisser zeit ändern

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

    Hallo
    Ich habe ein script wo zufallsbilder generiert. Die Bilder werden aus verschieden Order geholt. Die Order Pafade sind in einer Datenbank gespeichert. Das Script läuft soweit ganz gut. Nun möchti ich aber gerne, dass das Bild nicht bei jedem Seitenaufruf geändert wird, sondern erst nach einer gewissen Zeit z.B 3 Stunden.
    Das script habe ich fertig im Netz gefunden. Habe von php leider nicht sehr viel Ahnung. Kann mir da jemand Helfen?


    PHP-Code:
    <?php

    $verbindung 
    mysql_connect("","","");
    mysql_select_db("");

    //Script für das Zufallsbild
    $bilder = array();

    //Ordner öffnen
    $sql "SELECT `ordner` FROM `zufallspic` ORDER BY RAND( )";

    $result mysql_query($sql$verbindung);

    $ordner=mysql_result($result,$i,"ordner");

    $dir opendir ($ordner);

    //Datei lesen ohne die Verzeichnisse darüber
    while ($bild readdir ($dir)){
    if (
    $bild != "." && $bild != "..")
    array_push($bilder,$bild);
    }
    closedir($dir);

    $max count($bilder)-1;
    $zufall rand(0,$max);
    $bild $bilder[$zufall];

    echo
    "<img src=$ordner/$bild alt= height=157 width=434 border=0>";
    ?>

  • #2
    baue eine abhängigkeit von date() ein, z.b. von
    PHP-Code:
    if( date('G') < ) ... 
    etc.

    Kommentar


    • #3
      Danke für den Lösungsvorschlag nur leider blicke ich nicht druch.
      Wie scho erwänt habe von php nicht viel ahnung.

      Kommentar


      • #4
        und wie kann man dir helfen?

        Kommentar


        • #5
          sollte so in etwa funktionieren:
          PHP-Code:
          $pic_file='current_pic.txt'// In dieser Datei befindet sich das aktuelle Bild
          $change_time=10// Nach dieser Zeit in Sekunden wird ein neues Zufallsbild erzeugt

          if(is_file($pic_file)&&filemtime($pic_file)+$change_time>time())
           
          $bild=file_get_contents($pic_file);
          else
           {
            
          // So, hier kommt "Dein" bisheriger code rein ohne HTML-Ausgabe des Bildes
            // ...
            // Und das hier noch hinzufügen:
            
          $bild=$ordner.'/'.$bilder[$zufall];
            
          file_put_contents($pic_file$bild); // PHP5 ansonsten noch umschreiben
           
          }

          echo 
          '<img src="'.$bild.'" alt="" height="157" width="434" border="0">'

          Kommentar


          • #6
            Danke für die Hilfe.
            Es zeigt mir leider kein Bild an. Ich sehe zwar den Platz wo das bild hin solte ist alber leider leer.

            mein Code sieht jetzt so aus:

            PHP-Code:
            <?php

            $verbindung 
            mysql_connect("","","");
            mysql_select_db("");

            $pic_file='current_pic.txt'// In dieser Datei befindet sich das aktuelle Bild
            $change_time=10// Nach dieser Zeit in Sekunden wird ein neues Zufallsbild erzeugt

            if(is_file($pic_file)&&filemtime($pic_file)+$change_time>time())
             
            $bild=file_get_contents($pic_file);
            else
             {

            //Script für das Zufallsbild
            $bilder = array();

            //Ordner öffnen
            $sql "SELECT `ordner` FROM `zufallspic` ORDER BY RAND( )";

            $result mysql_query($sql$verbindung);

            $ordner=mysql_result($result,$i,"ordner");

            $bild=$ordner.'/'.$bilder[$zufall];
              
            file_put_contents($pic_file$bild);
             }

            echo 
            '<img src="'.$bild.'" alt="" height="157" width="434" border="0">';

            ?>

            Kommentar


            • #7
              Und wo hast du das Array $bilder mit Werten befüllt?
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                ich pack es einfach nicht!!

                Warning: opendir() [function.opendir.html]: failed to open dir: No such file or directory in /home/test.php on line 24

                Warning: readdir(): supplied argument is not a valid Directory resource in /home/test.php on line 27

                Warning: closedir(): supplied argument is not a valid Directory resource in /home/test.php on line 31

                Das sind die Fehlermeldungen, die mir angezeigt werden.

                Mein jetztiges Script:
                PHP-Code:
                <?php

                $verbindung 
                mysql_connect("","","");
                mysql_select_db("");

                $pic_file='current_pic.txt'// In dieser Datei befindet sich das aktuelle Bild
                $change_time=10// Nach dieser Zeit in Sekunden wird ein neues Zufallsbild erzeugt

                if(is_file($pic_file)&&filemtime($pic_file)+$change_time>time())
                 
                $bild=file_get_contents($pic_file);
                else
                 {

                //Script für das Zufallsbild
                $bilder = array();

                //Ordner öffnen
                $sql "SELECT `ordner` FROM `zufallspic` ORDER BY RAND( )";

                $result mysql_query($sql$verbindung);

                $ordner=mysql_result($result,$i,"ordner");

                $dir opendir ($ordner);

                //Datei lesen ohne die Verzeichnisse darüber
                while ($bild readdir ($dir)){
                if (
                $bild != "." && $bild != "..")
                array_push($bilder,$bild);
                }
                closedir($dir);

                $max count($bilder)-1;
                $zufall rand(0,$max);
                $bild $bilder[$zufall];

                $bild=$ordner.'/'.$bilder[$zufall];
                  
                file_put_contents($pic_file$bild); // PHP5 ansonsten noch umschreiben
                 
                }

                echo 
                '<img src="'.$bild.'" alt="" height="157" width="434" border="0">';

                ?>

                Kommentar


                • #9
                  Lies mal unsere Regeln, besonders den Teil um error_reporting(E_ALL) und mysql_error()!

                  Kommentar

                  Lädt...
                  X