php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.04.2009, 19:13  
Benutzer
 
Registriert seit: 15.01.2009
Beiträge: 38
Eclipse16V befindet sich auf einem aufstrebenden Ast
Standard Bilder an bestimmten Tagen anzeigen

Hallo,

ich habe mal eine Frage.
Bin auf der Suche nach einem Script welches mir an bestimmten Tagen bestimmte Bilder anzeigt.
Wollte in meinem Forum die Header Grafik anpassen so das z.B. an Ostern das Logo im Oster-Design und an Weihnachten im Weihnachts-Design erscheint. Das gleiche an Fasching und den anderen Feiertagen und Anlässen. Wenn kein Feiertag bzw. Anlass an diesem Tag ist, sollte das normale Logo angezeigt werden.

Gibt es so was schon fertig?
Oder wer kann mir so was mal schreiben?

Danke schon mal im Voraus.
Eclipse16V ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 10.04.2009, 19:26  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Was zahlst denn dafür wenn dir das jemand schreibt? Dann gehört das aber ins Forum ich biete eine Stelle an, oder aber auch ins Scriptgesuche.

Wenn du es aber selber machen willst, dann mal mehr Infos zu dem was du schon hast und wo du scheiterst. Das läuft dann wieder auf die Eigeninitiative heraus.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 10.04.2009, 21:20  
Benutzer
 
Registriert seit: 15.01.2009
Beiträge: 38
Eclipse16V befindet sich auf einem aufstrebenden Ast
Standard

Also ich habe jetzt schon mal folgendes.

PHP-Code:
<?php 

$today 
date("j"); 
$monat date("m"); 
if(
$monat=="4" and ($today>="10" and $today<="13")) {echo "<img src=\"images/ostern.gif\" border=\"0\">";} else {echo "<img src=\"images/kein_ostern.gif\" border=\"0\">";} 

?>
Läuft auch prima nur wie könnte man die zusammenfassen und es so machen das alle Feiertage mit dabei sind und diese sich auch selber jedes Jahre aktualisieren. So muss ich ja jetzt jedes Jahr das Datum ändern da Ostern nächtes und z.B. in 10 Jahren an einem anderen Datum sind.
Eclipse16V ist offline  
Alt 11.04.2009, 21:25  
Benutzer
 
Registriert seit: 15.01.2009
Beiträge: 38
Eclipse16V befindet sich auf einem aufstrebenden Ast
Standard

Habe es jetzt erst einmal bei mir so hier gelöst:

PHP-Code:
$hourdifference "+1";
$timedifference = ($hourdifference 60 60);
$actualdate date("F d, Y",time() + $timedifference);
$today=$actualdate;
$time date("h:i A",time() + $timedifference);
$year date("Y",time() + $timedifference);
$day date("d",time() +timeadjust);
$monthdate("F",time() + $timedifference);
$dayname date("l",time() + $timedifference); 

echo 
'
<table BACKGROUND="'
$settings['images_url'], '/header_logos/normal.jpg" width="600" cellpadding="0" cellspacing="0" border="0">
    <tr>
        <td align="center" valign="middle">'
;

// Neujahr
if ($today == "January 01, $year"){    
echo 
'<img src="'$settings['images_url'], '/header_logos/neujahr.jpg">';
}

// Heilige Drei Könige
if ($today == "January 06, $year"){    
echo 
'<img src="'$settings['images_url'], '/header_logos/heilige_3_koenige.jpg">';
}

// Valentinstag
if ($today == "February 14, $year"){    
echo 
'<img src="'$settings['images_url'], '/header_logos/valentinstag.jpg">';
}

// Rosenmontag
// Fastnacht
// Aschermittwoch

// Ostern bis 2037
$easter date("F d, $year"easter_date($year));
if (
$today == $easter){
echo 
'<img src="'$settings['images_url'], '/header_logos/ostern.jpg">';
}

// Maifeiertag
if ($today == "May 01, $year"){    
echo 
'<img src="'$settings['images_url'], '/header_logos/maifeiertag.jpg">';
}

// Muttertag - 2. Sonntag im Mai
if (($month == May) && ($dayname == Sunday) && ($day 07) && ($day16)){ 
echo 
'<img src="'$settings['images_url'], '/header_logos/muttertag.jpg">';
}

// Christi Himmelfahrt
// Pfingstsonntag
// Pfingstmontag
// Fronleichnam
// Friedensfest
if ($today == "August 08, $year"){    
echo 
'<img src="'$settings['images_url'], '/header_logos/friedensfest.jpg">';
}

// Mariä Himmelfahrt
if ($today == "August 15, $year"){    
echo 
'<img src="'$settings['images_url'], '/header_logos/mariae_himmelfahrt.jpg">';
}

// Tag der Deutschen Einheit
if ($today == "October 03, $year"){    
echo 
'<img src="'$settings['images_url'], '/header_logos/tag_der_deutschen_einheit.jpg">';
}

// Erntedankfest

// Halloween
if ($today == "October 31, $year"){    
echo 
'<img src="'$settings['images_url'], '/header_logos/halloween.jpg">';
}

// Allerheiligen
if ($today == "November 01, $year"){    
echo 
'<img src="'$settings['images_url'], '/header_logos/allerheiligen.jpg">';
}

// Volkstrauertag
// Buß- und Bettag
// Totensonntag

// Thanksgiving
if (($month == November) && ($dayname == Thursday) && ($day 22) && ($day <= 31)){ 
echo 
'<img src="'$settings['images_url'], '/header_logos/thanksgiving.jpg">';
}

// 1. Advent

// Welt AIDS Tag
if ($today == "December 01, $year"){    
echo 
'<img src="'$settings['images_url'], '/header_logos/aids_tag.jpg">';
}

// 2. Advent
// 3. Advent
// 4. Advent

// Heiligabend
if ($today == "December 24, $year"){    
echo 
'<img src="'$settings['images_url'], '/header_logos/heiligabend.jpg">';
}

// 1. Weihnachtstag
if ($today == "December 25, $year"){
echo 
'<img src="'$settings['images_url'], '/header_logos/1_weihnachtstag.jpg">';
}

// 2. Weihnachtstag
if ($today == "December 26, $year"){    
echo 
'<img src="'$settings['images_url'], '/header_logos/2_weihnachtstag.jpg">';
}

// Silvester
if ($today == "December 31, $year"){    
echo 
'<img src="'$settings['images_url'], '/header_logos/silvester.jpg">';
}

echo 
'
        </td>
    </tr>
</table>'

Jetzt fehlen mir natürlich noch ein paar Tage (wie oben zu sehen ist). Wie bekomme ich die am besten raus.
Eclipse16V ist offline  
Alt 11.04.2009, 21:39  
Benutzer
 
Registriert seit: 15.01.2009
Beiträge: 38
Eclipse16V befindet sich auf einem aufstrebenden Ast
Standard

Folgendes habe ich schon mal gefunden:

Abhängig von
$easter = -48 Tage = Rosenmontag
$easter = -46 Tage = Aschermittwoch
$easter = -2 Tage = Karfreitag
$easter = 0 Tage = Ostersonntag
$easter = +1 Tage = Ostermontag
$easter = +39 Tage = Himmelfahrt
$easter = +49 Tage = Pfingstsonntag
$easter = +50 Tage = Pfingstmontag
$easter = +60 Tage = Fronleichnam

$advent = 0 Tage = 1. Advent
$advent = +7 Tage = 2. Advent
$advent = +14 Tage = 3. Advent
$advent = +21 Tage = 4. Advent
$advent = -32 Tage = Buß- und Bettag
$advent = -28 Tage = Totensonntag
$advent = -35 Tage = Volkstrauertag
Eclipse16V ist offline  
Alt 12.04.2009, 11:27  
Benutzer
 
Registriert seit: 15.01.2009
Beiträge: 38
Eclipse16V befindet sich auf einem aufstrebenden Ast
Standard

Keiner der mir helfen mag?
Eclipse16V ist offline  
Alt 12.04.2009, 11:56  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

D.h. Du willst einige Referenztage (z.B. Ostern) für jedes Jahr speichern und davon ausgehend die "abhängigen" Feiertage berechnen?
David ist offline  
Alt 15.04.2009, 09:44  
Benutzer
 
Registriert seit: 15.01.2009
Beiträge: 38
Eclipse16V befindet sich auf einem aufstrebenden Ast
Standard

Ja,
ist ja oben schon fast alles drin nur fehlen mir noch einige.
Eclipse16V ist offline  
Alt 15.04.2009, 13:01  
Erfahrener Benutzer
 
Benutzerbild von Andreas
 
Registriert seit: 22.04.2005
Beiträge: 391
Andreas ist zur Zeit noch ein unbeschriebenes Blatt
Standard

easter_date();
// Neujahr setzen (fester Feiertag am 1. Januar)
// Hl. Drei Könige setzen (fester Feiertag am 6. Januar)
// Rosenmontag berechnen (beweglicher Feiertag; 48 Tage vor Ostern)
// Aschermittwoch berechnen (beweglicher Feiertag; 46 Tage vor Ostern)
// Karfreitag berechnen (beweglicher Feiertag; 2 Tage vor Ostern)
// Ostersonntag
// Ostermontag berechnen (beweglicher Feiertag; 1 Tag nach Ostern)
// Maifeiertag setzen (fester Feiertag am 1. Mai)
// Christi Himmelfahrt berechnen (beweglicher Feiertag; 39 Tage nach Ostern)
// Pfingstsonntag berechnen (beweglicher Feiertag; 49 Tage nach Ostern)
// Pfingstmontag berechnen (beweglicher Feiertag; 50 Tage nach Ostern)
// Fronleichnam berechnen (beweglicher Feiertag; 60 Tage nach Ostern)
// Mariä Himmelfahrt setzen (fester Feiertag am 15. August)
// Tag der deutschen Einheit setzen (fester Feiertag am 3. Oktober)
// Reformationstag setzen (fester Feiertag am 31. Oktober)
// Allerheiligen setzen (fester Feiertag am 1. November)
// Heiligabend setzen (fester 'Feiertag' am 24. Dezember)
// Erster Weihnachtstag setzen (fester 'Feiertag' am 25. Dezember)
// Zweiter Weihnachtstag setzen (fester 'Feiertag' am 26. Dezember)
// Sylvester setzen (fester 'Feiertag' am 31. Dezember)

PHP-Code:
// Errechnet das Datum des Ostersonntags für ein gegebenes Jahr
function easter($year) {
    if(
$year 2038 || $year 1970) {
        return 
false;
    } else {
        
$a $year 19;
        
$b $year 4;
        
$c $year 7;
        
$m = ((* ($year 100) + 13) / 25) - 2;
        
$s = ($year 100) - ($year 400) - 2;
        
$M = (15 $s $m) % 30;
        
$N = ($s) % 7;
        
$d = ($M 19 $a) % 30;
        if (
$d == 29) {
            
$D 28;
        } elseif (
$d == 28 && $a >= 11) {
            
$D 27;
        } else {
            
$D $d;
        }
        
$e = ($b $c $D $N) % 7;
        
$delta $D $e 1;
        
$easter gmmktime(000321$year) + $delta * (24 3600);
        return 
$easter;
    }
}  

// Beseitigt Stundenanteile in einem UNIX-Zeitstempel
function ResetHours(&$timestamp) {
    
$hour date('G'$timestamp);
    
$timestamp -= ($hour 3600);
}
function 
ResetHour($timestamp) {
    
$hour date('G'$timestamp);
    
$timestamp -= ($hour 3600);
    return 
$timestamp;
}  

// Berechnet alle festen und variablen Feiertage eines gegebenen Jahrs.
// Die Feiertage werden als Array zurückgeliefert, wobei der Key dem
// Feiertagsnamen entspricht und der Wert dem entsprechenden Zeitstempel.
function Feiertage($year) {
    
$OneDay 24 60 60;
    
$easter easter($year);
    if(!
$easter) {
        return 
false;
    } else {
        
$advday date('w'gmmktime(0001126$year));
        
$advent gmmktime(0001126$year) + (($advday == $advday) * $OneDay);
        
$holidays['Neujahr']                   = gmmktime(000,  1,  1$year);
        
$holidays['Heilige Drei Könige']       = gmmktime(000,  1,  6$year);
        
$holidays['Rosenmontag']               = $easter - (48 $OneDay);
        
$holidays['Fastnacht']                 = $easter - (47 $OneDay);
        
$holidays['Aschermittwoch']            = $easter - (46 $OneDay);
        
$holidays['Karfreitag']                = $easter - ($OneDay);
        
$holidays['Ostersonntag']              = $easter;
        
$holidays['Ostermontag']               = $easter + ($OneDay);
        
$holidays['Tag der Arbeit']            = gmmktime(000,  5,  1$year);
        
$holidays['Christi Himmelfahrt']       = $easter + (39 $OneDay);
        
$holidays['Pfingstsonntag']            = $easter + (49 $OneDay);
        
$holidays['Pfingstmontag']             = $easter + (50 $OneDay);
        
$holidays['Fronleichnam']              = $easter + (60 $OneDay);
        
$holidays['Mariä Himmelfahrt']         = gmmktime(000,  815$year);
        
$holidays['Tag der deutschen Einheit'] = gmmktime(00010,  3$year);
        
$holidays['Reformationstag']           = gmmktime(0001031$year);
        
$holidays['Allerheiligen']             = gmmktime(00011,  1$year);
        
$holidays['Buß- und Bettag']           = $advent - (11 $OneDay);
        
$holidays['1. Advent']                 = $advent;
        
$holidays['2. Advent']                 = $advent + ($OneDay);
        
$holidays['3. Advent']                 = $advent + (14 $OneDay);
        
$holidays['4. Advent']                 = $advent + (21 $OneDay);
        
$holidays['Heiligabend']               = gmmktime(0001224$year);
        
$holidays['1. Weihnachtsfeiertag']     = gmmktime(0001225$year);
        
$holidays['2. weihnachtsfeiertag']     = gmmktime(0001226$year);
        
$holidays['Silvester']                 = gmmktime(0001231$year);
        
array_walk($holidays'ResetHours');
        return 
$holidays;
    }
}  

// Berechnet das Datum eines bestimmten Feiertags im gegebenen Jahr.
// Liefert als Ergebnis den Zeitstempel des Feiertags bzw. false wenn das Jahr
// ungültig oder der Feiertag unbekannt ist.
function Feiertag($year$name) {
    
$OneDay 24 60 60;
    
$easter easter($year);
    if(!
$easter) {
        return 
false;
    } else {
        
$advday date('w'gmmktime(0001126$year));
        
$advent gmmktime(0001126$year) + (($advday == $advday) * $OneDay);
        
        switch (
strtolower($name)) {
            case 
'neujahr':                   return ResetHour(gmmktime(000,  1,  1$year));
            case 
'heilige drei könige':       return ResetHour(gmmktime(000,  1,  6$year));
            case 
'rosenmontag':               return ResetHour($easter - (48 $OneDay));
            case 
'fastnacht':                 return ResetHour($easter - (47 $OneDay));
            case 
'aschermittwoch':            return ResetHour($easter - (46 $OneDay));
            case 
'karfreitag':                return ResetHour($easter - ($OneDay));
            case 
'ostersonntag':              return ResetHour($easter);
            case 
'ostermontag':               return ResetHour($easter + ($OneDay));
            case 
'tag der arbeit':            return ResetHour(gmmktime(000,  5,  1$year));
            case 
'christi himmelfahrt':       return ResetHour($easter + (39 $OneDay));
            case 
'pfingstsonntag':            return ResetHour($easter + (49 $OneDay));
            case 
'pfingstmontag':             return ResetHour($easter + (50 $OneDay));
            case 
'fronleichnam':              return ResetHour($easter + (60 $OneDay));
            case 
'mariä himmelfahrt':         return ResetHour(gmmktime(000,  815$year));
            case 
'tag der deutschen einheit': return ResetHour(gmmktime(00010,  3$year));
            case 
'reformationstag':           return ResetHour(gmmktime(0001031$year));
            case 
'allerheiligen':             return ResetHour(gmmktime(00011,  1$year));
            case 
'buß- und bettag':           return ResetHour($advent - (11 $OneDay));
            case 
'1. advent':                 return ResetHour($advent);
            case 
'2. advent':                 return ResetHour($advent + ($OneDay));
            case 
'3. advent':                 return ResetHour($advent + (14 $OneDay));
            case 
'4. advent':                 return ResetHour($advent + (21 $OneDay));
            case 
'heiligabend':               return ResetHour(gmmktime(0001224$year));
            case 
'1. weihnachtsfeiertag':     return ResetHour(gmmktime(0001225$year));
            case 
'2. weihnachtsfeiertag':     return ResetHour(gmmktime(0001226$year));
            case 
'silvester':                 return ResetHour(gmmktime(0001231$year));
            default:                          return 
false;
        }
    }
}  


if (
time() < Feiertag(date('Y'), 'Aschermittwoch')) {
    echo 
'Freut euch, die fünfte Jahreszeit ist noch nicht vorbei!';


Geändert von Andreas (15.04.2009 um 13:11 Uhr).
Andreas ist offline  
Alt 15.04.2009, 14:53  
Benutzer
 
Registriert seit: 15.01.2009
Beiträge: 38
Eclipse16V befindet sich auf einem aufstrebenden Ast
Standard

hmmm und wie setze ich das nun um?
Eclipse16V ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
bilder anzeigen nixdorf PHP Tipps 2006 8 01.11.2006 22:31
nur bestimmten teil von php anzeigen se-clan PHP Tipps 2007 6 31.10.2005 20:52
Bilder anzeigen und nicht anzeigen Cyrus PHP Tipps 2005-2 7 26.10.2005 20:23
Bestimmte elemente nur zu bestimmten Daten anzeigen lassen PHP Tipps 2005-2 3 14.07.2005 14:05
[Erledigt] Vergrößerte Bilder im selben Pop Up Fenster anzeigen lassen PHP Tipps 2005 8 01.04.2005 12:24
Bilder nach Namen anzeigen PHP Tipps 2005 11 06.03.2005 15:41
Bilder anzeigen Tschuu PHP Tipps 2005 1 05.02.2005 14:07
WAMP - Bilder bestimmten Datensätzen nachträglich hinzufügen PHP Tipps 2005 5 29.01.2005 18:36
Bilder Automatisch anzeigen lassen? test022 PHP Tipps 2004-2 7 23.12.2004 00:11
bilder aus ordner lesen und geordnet anzeigen Beitragsarchiv 9 01.12.2004 10:06
Bilder nur von einer Seite aus anzeigen Beitragsarchiv 0 13.11.2004 18:41
bilder aus web anzeigen Rotti PHP Tipps 2004 1 26.09.2004 17:53
Bilder im Verzeichnis anzeigen? PHP Tipps 2004 8 15.07.2004 19:09
[Erledigt] Bilder nur auf eigenem Server anzeigen lassen Server, Hosting und Workstations 9 30.06.2004 15:20
Bilder anzeigen PHP Tipps 2004 9 25.06.2004 14:44

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
// aschermittwoch berechnen (beweglicher feiertag; 46 tage vor ostern), php script dass bilder zu einem bestimmten datum anzeigt, bild an tagen anzeigen, bild bestimmten tag php, bilder com bestimmten tag, tage nach ostern bilder, php bilder an bestimmten tagen, bild nur anzeigen an bestimmten tag, php an bestimmten tagen anderes logo, $jahreszeit = date(\g\, $timestamp);, bild mit php an gewissen tagen anzeigen lassen, bild mit php 7 tage anzeigen lassen, programm zum anzeigen von bildern an bestimmten tagen, bild anzeigen an bestimmten datum, bilder anzeigen zu bestimmten zeiten und tagen, bilder nach tagen anzeigen php, php seiten an bestimmten tagen anzeigen, neujahr setzen (fester feiertag am 1. januar), an bestimmten tagen bild ändern, php fotos nur gewisse tage anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:36 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum