Per zufall ein Bild anzeigen mit Cronjob

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

  • Per zufall ein Bild anzeigen mit Cronjob

    Also,


    ich möchte in meinem Forum jeden Tag einen anderen Comic-Strip zeigen. Dieser soll von einer ausführbaren Datei per zufall von einem Cronjob ausgewählt werden und abenr von einer anderen Datei eingelesen werden.

    Ich beschreibs mal so übersichtlich, wie es geht:


    Ein cronjob führt alle 24h eine datei aus, die per zufall aus einem Ordner mit viel zu vielen Comics einen auswählt.

    Diese Datei, die zufällig ausgewählt wurde, soll dann schließlich von der Datei, die ich eben als verlinkung im Forum gemacht habe, eingelesen werden, um das bild anzuzeigen.


    Praktisch müsste es anch meinem Wissen so aussehen:

    Eine von cronjob ausführbare Datei wählt rdm ein Bild aus und gibt diese in einer 2. Datei aus. Also meinetwegen: Ausgabe: Bildx.jpg in Datei comic.php

    Die Datei, die als verlinkung zum bild fungiert, liest den Inhalt der datei comic.php aus, in der variable zur Verlinkung des bildes, z.b. http://www.forumname.de/bildverzeichnis/"variable"

    Damit eben nichts verändert werden muss, sondern das ganze von alleine läuft.


    Allerdings habe ich leider noch nicht wirklich ahnung von php oder java oder sonst was, damit ich das selbst machen kann.

    Ich weiß nur, daß es mit deiser 3-Dateien-Methode gehen müsste, aber leider nciht wie.

    Ich wäre euch sehr dankbar, wenn ihr mir diesbezüglich helfen könntet. Danke.



    Rosiv

  • #2
    Ja sicher funktioniert das mit 3 Dateien, mit 5 oder noch mehr auch. Aber zwingend nötig ist das nicht, eigentlich braucht man dazu überhaupt keine Datei.
    Lass den Cronjob aus allen Bildern ein zufällig ausgewähltes an eine immer gleiche Stelle kopieren. Fertig.

    In deiner Seite steht nur <img src="daily.jpg"> und dein Cronjob sorgt dafür, dass die Datei daily.jpg jede Nacht durch ein anderes Bild ersetzt wird, wobei der Name aber gleich bleibt.

    Kommentar


    • #3
      Naja,

      ich kann als Cronjob NUR eine Datei ausführen, da er von cronjob.de ausgeführt wird, und ich somit nur dateien ausführen kann.

      WIE ich das allerdings programmiere, weiß ich, wie oben beschrieben, ja überhaupt nicht. Darum wende ich mich ja an euch.




      Rosiv

      Kommentar


      • #4
        such mal nach foto/bild des Tages gerne auch auf englisch. Einen Cronjob braucht man dafür gar nicht. das ist schon fast zuviel des guten...

        und ein PHP-Problem sehe ich jetzt erstmal auch nicht. *move*

        Kommentar


        • #5
          Also,


          ich habe zwar nach dem gesucht, aber ich habe keine Datei mit all den zig-tausend bildnamen drinnen.


          Ich will doch nur aus einem ordner mit ca. 5000 bildern jeweils um 0 Uhr nachts ein anderes rdm-mäßig auswählen und das dann im Forum angezeigt bekommen. Das aktivieren, quasi der datei muss von einem externen cronjob ausgeführt werden, bei dem ich NUR eine datei ausführen kann, keine befehle.

          Bisher war ncihts dabei, was diese vorraussetzungen erfüllt.

          nebenbei habe ich NULL plan von PhP selbst programmieren. ein wenig umschreiben ja, aber das wars schon.



          Rosiv

          Kommentar


          • #6
            Na dann lass den Cronjob eine .php aufrufen, die alle möglichen Bilder in ein Array schreibt, davon eins zufällig auswählt und dieses an eine festgeschriebene Stelle kopiert.

            glob(); rand(); copy();

            Kommentar


            • #7
              Einfach so:

              PHP-Code:
              <?php
                  
              //Ermittle die Anzahl der Bilder in dem angegebenen Ordner
                  
              $i 1;
                  while (
              file_exists("dein_bildordner/".$i.".jpg") {
                      ++
              $i;
                  }
                  --
              $i;
                  
                  
              //Sucht ein zufälliges Bild raus
                  
              $bilddestages rand(1,$i);
                  
                  
              //Kopiert es in ein neues Verzeichnis und benennt es nach dem Datum z.B. 01122006.jpg
                  
              $datum getdate();
                  
              $name $datum['mday'].$datum['mon'].$datum['year'].".jpg";
                  
              copy ("dein_bildordner/".$i.".jpg""dein_zielordner/".$name);
              ?>

              <?    
                  //Ausgabescript
                  $datum = getdate();
                  $name = $datum['mday'].$datum['mon'].$datum['year'].".jpg";    
                  echo '<img src="dein_bildordner/'.$name.'" />';
              ?>
              Dieses Script setzt nur voraus, dass du die Bilder durchnummerierst. Dabei musst du bei 1.jpg beginnen und darfst keine Lücken lassen...
              Ansonsten musst du natürlich die Verzeichnispfade (-> Stichwort "dein Bildordner" ) noch anpassen...
              Zuletzt geändert von Mathis; 01.12.2006, 22:44.

              Kommentar

              Lädt...
              X