Anzeige

PHP Bildwechsel nach bestimmten datum

PHP Bildwechsel nach bestimmten datum | PSD-Tutorials.de

Erstellt von Xaero85, 09.05.2009.

  1. Xaero85

    Xaero85 Mediengestalter

    Dabei seit:
    21.05.2008
    Beiträge:
    17
    Geschlecht:
    männlich
    Ort:
    Sinzig
    Software:
    Photoshop|Indesign|Illustrator|Flash|Dreamweaver
    Kameratyp:
    SLR Canon 60D
    PHP Bildwechsel nach bestimmten datum
    Hallo Com.

    Ich brauche folgendes PHP script:

    In einem Div Container soll ein bild z.B ab dem 1.1.09 erscheinen.
    Ab dem 2.3.09 soll aber dann ein anderes bild erscheinen usw.
    Ich habe folgenden php code benutzt:

    Code (Text):
    1. <?php
    2.  
    3. $verz = "./bild/"; //verzeichniss für die bilder
    4.  
    5. $heute = date("m-d-y");
    6. $files = array();
    7. $handle=opendir($verz);
    8. while ($file = readdir ($handle)) {
    9.    if ($file != "." && $file != ".." && ereg(".jpg", $file) && ($heute.".jpg" <= $file)) {
    10.        $files[]= $file;
    11.    }
    12. }
    13. closedir($handle);
    14.  
    15. if($files[0]){
    16. echo "<img src=".$verz.$files[0]." border='0' alt=''>"; // Bild ausgabe
    17. }
    18.  
    19. ?>
    Ich habe bilder mit folgendem datum: 13.6./ 11.7./ 8.8./ 12.9./ 10.10./ 14.11. und 12.12.


    So das Script funktioniert leider nicht richtig. z.B wird das bild vom 11.07 vor dem 13.6 angezeigt.... wieso?
     
    #1      
  2. Doitsu

    Doitsu Aktives Mitglied

    Dabei seit:
    15.04.2009
    Beiträge:
    482
    PHP Bildwechsel nach bestimmten datum
    AW: PHP Bildwechsel nach bestimmten datum

    Wenn ich das jetzt richtig sehe, pruefst du ob "05-09-2009.jpg" kleiner/gleich ist als als z.B. "12.12.jpg"? das geht dann logischerweise nicht..
    Wenn du deine Bilder jetzt als timestamp.jpg speicherst, kannst du mit dem timestamp (nachdem du die Endung raus geschnitten hast) weiter Arbeiten ..
     
    #2      
  3. Xaero85

    Xaero85 Mediengestalter

    Dabei seit:
    21.05.2008
    Beiträge:
    17
    Geschlecht:
    männlich
    Ort:
    Sinzig
    Software:
    Photoshop|Indesign|Illustrator|Flash|Dreamweaver
    Kameratyp:
    SLR Canon 60D
    PHP Bildwechsel nach bestimmten datum
    AW: PHP Bildwechsel nach bestimmten datum

    Hm... wie meinst du das genau? Versteh das leider nicht ganz.
     
    #3      
  4. Doitsu

    Doitsu Aktives Mitglied

    Dabei seit:
    15.04.2009
    Beiträge:
    482
    PHP Bildwechsel nach bestimmten datum
    AW: PHP Bildwechsel nach bestimmten datum

    Na ja, du hast ein Bild.. Nehmen wir an, du speicherst es gleich als Datum.
    z.B. 10_05_2009.jpg (DD_MM_YYYY) dann nimmste das mit explode ausseinander, $datum_teile = explode("_", $file);
    Dann holst du dir den timestamp von dem Datum, $datum_ts = mktime(0,0,0,$datum_teile[1], $datum_teile[0], $datum_teile[2]);
    $datum_teile[0] = Tag
    $datum_teile[1] = Monat
    $datum_teile[2] = Jahr

    Dann brauchst du noch den jetzigen timestamp - $now = time();
    und halt noch pruefen .. if ($now <= $datum_ts) echo '<img src="bild" alt=".." .. />';
    Oder du speicherst gleich als timestamp ab, dann sparst du dir den mktime() schritt ..

    http://de2.php.net/mktime
    http://de2.php.net/explode
    http://de2.php.net/time

    Edit: du musst dann noch vom Jahr die Endung loschen - $datum_teile[2] = str_replace(".jpg", "", $datum_teile[2]);
     
    Zuletzt bearbeitet: 09.05.2009
    #4      
  5. mimimiii

    mimimiii Guest

    PHP Bildwechsel nach bestimmten datum
    AW: PHP Bildwechsel nach bestimmten datum

    Hallo,
    deine Bilder hast du als dd.m benannt (13.6./ 11.7.). Bildest das aktuelle Datum aber mit $heute = date("m-d-y"); und hängst dem später nur das .jpg an. Du solltest deine Bilder also umbenennen in mm.dd.jpg, oder es nach dem timestamp benennen - wobei hier mm.tt ausreichen sollte, da das Jahr für deine Bilder ja unerheblich ist. Das aktuelle Datum dann mit $heute = date("mm.dd"); beziehen. Wenn du das Jahr hier weg lässt, dann brauchst du es auch nicht später löschen wie Doitsu es vorgeschlagen hat und kannst seine Lösung mit nur "zwei Teilen" (mm + tt) ausprobieren.
     
    #5      
x
×
×