Bild anzeigen, basierend auf dem Datum in PHP
Irgendwo auf meinem computer hatte ich ein PHP-Skript für die Anzeige eines Bildes basierend auf dem Datum, das mir erlauben würde, die Anzeige verschiedener Bilder auf ein bestimmtes Datum oder zwischen bestimmten Terminen, und zeigt eine Standard-Datum, wenn das aktuelle Datum nicht mit aufgelistet und mit einem bestimmten Bild angezeigt wird.
Vor kurzem hatte ich ein problem mit einer meiner Festplatten, obwohl verloren, laden von Dateien, und ich fürchte, das Skript war einer von denen unter Ihnen, wie ich kann nicht finden es überall.
Ich kann mich nicht erinnern, wo ich das Skript aber. Ich habe sah überall online und kann nicht wieder finden. Ich dachte, es war hier aber nach der Suche ich kann nichts finden, vage, wie es ist, geschweige denn, das Skript selbst leider. <_<
Vielleicht verwende ich die falschen Suchbegriffe (ich habe versucht, Dinge wie "php-Bild anzeigen-Datum"), aber ich finde nichts vergleichbares.
Kennt jemand etwas passendes in der Beschreibung oben, oder vorschlagen kann, der beste Weg, dies zu tun?
Ich bin denken, dass ich angeben muss, ein Standard-Bild wenn Sie das aktuelle Datum hat ein bestimmtes Bild festgelegt und wahrscheinlich ein Fall/Pause code-block kann einen besseren Weg, es zu tun als if/else....
Jemand irgendwelche Gedanken über den besten Weg, dies zu tun?
Edit: Danke an alle für Eure Vorschläge. Ich war nicht besonders scharf darauf, mit if/else/elseif, aber am Ende schien es der einfachste Weg, um es zu erreichen. Die Art und Weise, die ich getan habe, es ist wahrscheinlich nicht der effizienteste Weg, code-wise, aber es funktioniert jetzt.
(Teil des code - er ist ziemlich lang, also ich will Sie nicht langweilen mit all dem)
`Hmmm....okay, danke. Das erklärt, warum das, was ich versuche zu tun, nicht funktioniert! 😆
Aber ich habe gesehen, andere Möglichkeiten, es zu tun, einschließlich einer foreach-Schleife und GD, klebte ich mit der if - /elseif - /else-Anweisung am Ende. Es ist wahrscheinlich nicht der effizienteste Weg, code-Weise, es zu tun, aber das war am Ende (Teil des Codes wie auch immer - es ist eine sehr lange Liste, und ich will Sie nicht langweilen mit allen drauf!):
<?php
//Macmillan Cancertalk week (21-25 Jan)
if ((date('m') == 01) && (date('d') >= 21) || (date('m') == 01) && (date('d') <= 23)) {
echo "<img src=\"images/ribbons/cancertalk.gif\" height=\"145\" width=\"175\" alt=\"Macmillan Cancertalk\" /><br /><h6 class=\"awareness\">Macmillan Cancertalk Week <span class=\"morelink\"><a href=\"the-bookstall-cancer-links-and-resources.php\">more...</a></span></h6>";
}
//Macmillan Cancertalk week (21-25 Jan) and Cervical Cancer Awareness Week (24-30 Jan)
else if ((date('m') == 01) && (date('d') == 24)) {
echo "<img src=\"images/ribbons/macmillan_cervical.gif\" height=\"145\" width=\"175\" alt=\"Macmillan Cancertalk and white and teal awareness ribbons\" /><br /><h6 class=\"awareness\">Macmillan Cancertalk Week & Cervical Cancer Awareness Week <span class=\"morelink\"><a href=\"the-bookstall-cancer-links-and-resources.php\">more...</a></span></h6>";
}
//Macmillan Cancertalk week (21-25 Jan), Cervical Cancer Awareness Week (24-30 Jan) and Beating Bowel Cancer - Be Loud Be Clear Week (25-31 Jan)
else if ((date('m') == 01) && (date('d') == 25)) {
echo "<img src=\"images/ribbons/macmillan_cervical_bowel.gif\" height=\"145\" width=\"175\" alt=\"Macmillan Cancertalk, white & teal awareness ribbons, and blue & brown cancer awareness ribbons\" /><br /><h6 class=\"awareness\">Macmillan Cancertalk Week, Cervical Cancer Awareness Week, and Be Loud Be Clear Week (Beating Bowel Cancer) <span class=\"morelink\"><a href=\"the-bookstall-cancer-links-and-resources.php\">more...</a></span></h6>";
}
//Beating Bowel Cancer - Be Loud Be Clear Week (25-31 Jan)
else if ((date('m') == 01) && (date('d') == 31)) {
echo "<img src=\"images/ribbons/brown_blue_ribbon.gif\" height=\"145\" width=\"175\" alt=\"blue and brown cancer awareness ribbons\" /><br /><h6 class=\"awareness\">Be Loud Be Clear Week (Beating Bowel Cancer) <span class=\"morelink\"><a href=\"the-bookstall-cancer-links-and-resources.php\">more...</a></span></h6>";
}
//International Childhood Cancer Day (15 Feb)
else if ((date('m') == 02) && (date('d') == 15)) {
echo "<img src=\"images/ribbons/gold_ribbon.gif\" height=\"145\" width=\"175\" alt=\"gold cancer awareness ribbons\" /><br /><h6 class=\"awareness\">International Childhood Cancer Day <span class=\"morelink\"><a href=\"the-bookstall-cancer-links-and-resources.php\">more...</a></span></h6>";
}
//Gynaecological Cancers Campaign (1 Feb to 31 March)
else if ((date('m') == 02) && (date('d') >= 01) || (date('m') == 02) && (date('d') <= 28)) {
echo "<img src=\"images/ribbons/teal_ribbon.gif\" height=\"145\" width=\"175\" alt=\"teal cancer awareness ribbons\" /><br /><h6 class=\"awareness\">Gynaecological Cancers Campaign (1st February – 31st March) <span class=\"morelink\"><a href=\"the-bookstall-cancer-links-and-resources.php\">more...</a></span></h6>";
}
else {
echo "<a class=\"awareness_link\" href=\"the-bookstall-cancer-links-and-resources.php\"><img src=\"images/ribbons/default_ribbon.gif\" height=\"145\" width=\"175\" alt=\"calendar\" /><br /><h6 class=\"awareness\">Check our awareness calendar for information about awareness events – <span class=\"morelink\"><a href=\"the-bookstall-cancer-links-and-resources.php\">more...</a></span></h6></a>";
}
?>
Du musst angemeldet sein, um einen Kommentar abzugeben.
könnten Sie die
date()
Funktion prüfen Sie, für den aktuellen Monat/Tag/Jahr und einige einfache if/else-Konstrukte, die unterschiedliche Bilder zeigen.Der beste Weg, es zu tun, würde wahrscheinlich nur zu verwenden, GD, um es anzuzeigen.
Es klingt wie Sie wurden mit kopieren/einfügen des Codes vor, aber das ist wirklich ein gutes snippet zu lernen, wenn Sie sich für Sie. Der Grundaufbau, die Sie suchen:
Im Grunde finden Sie das Datum, und mit IF/ELSE-Schleifen, bestimmen, wenn heute in einem Bereich oder einem anderen. WENN es ist, echo aus dem Bild, das Sie anzeigen möchten.
In diesem Beispiel die variable $Tag auf eine Zahl gesetzt, 1-7. 1==Montag, 2==Dienstag, 3==Mittwoch... Wenn es Montag, Dienstag oder Mittwoch, es zeigt ein Bild, (die
if ($day == 1 OR $day == 2 OR $day == 3)
Linie), Donnerstag/Freitag zeigt dem anderen, und sonst zeigt es die "default" - Bild, das zeigt auf das Wochenende. Natürlich ist dies nicht die GENAUE Schreibweise von Tagen/Daten, die Sie wollen, aber sowas wie dieses Konstrukt wird Ihnen helfen.Check-out die PHP Datum Referenz für die Hilfe mit der Auswahl, gerade was Daten, die Sie vergleichen möchten.
Dies ist meine Lösung, ich Gast vielleicht, die Sie nicht interessieren, über die Jahre, so dass diese Lösung nur überlegen, Monat und Datum:
Wenn Sie tun eine Menge von largeish Datum reicht, das wird brechen, aber es funktioniert gut für ein paar kleinere Bereiche und bestimmte Termine.
break
- Anweisung). Setzen Sie die bestimmten Daten zuerst und die allgemeineren Bereiche nach unten und du wirst in guter Form sein.if( $checkDate > $firstDate1 && $checkDate < $firstDate2 )
, aber ich kann mich nicht erinnern, wie es zu tun mit dem switch/case/break-format. Ich habe versuchtcase ('01-25','01-31'):
aber Sie mag es nicht, dass überhaupt.case ('01-25'>='01-31'):
zum Beispiel schien zu funktionieren, bis ich begann, mehr Termine, dann aber nur angezeigt, das Bild für das erste date range nachdem ich bekam mehr Bereiche in.Haben Sie sich überlegt mit einem array, das du Durchlaufen?
und dann klicken Sie einfach weiter auf mit
Hoffentlich ist das ein wenig einfacher/sauberer für Sie. Und natürlich können Sie fügen Sie alle weiteren details, die Sie wollen, um das array.
~James.