Sendeplatz alle 4 Wochen ausgeben

h4dhunTer

Erfahrenes Mitglied
Hallo,

ich bräuchte ein kleines Script, wo ich das Datum für die nächste Sendung ausgebe.
Der Text sollte dann so aussehen:
....Dort senden wir alle 4 Wochen von 15-16 Uhr. Unsere nächste Sendung ist am 28. März 2007....
Nun möchte ich natürlich nicht nach jeder Sendung am Mittwoch die Seite ändern.
Ist es mit PHP möglich das Datum für alle 4 Wochen auszugeben, ohne Datenbank oder sonstiger speicherung.
Die nächste Sendung ist nun der 28. März 2007!
Vielen Dank für eure hilfe!
 
Bin vielleicht bischen blöd aber hab nicht so recht verstanden was du willst ...

ich bräuchte ein kleines Script, wo ich das Datum für die nächste Sendung ausgebe.
Der Text sollte dann so aussehen:
....Dort senden wir alle 4 Wochen von 15-16 Uhr. Unsere nächste Sendung ist am 28. März 2007....
Wie wäre es mit mit ner Textdatei Names "Sendung.txt"?
PHP:
<?php
// -> Textdatei enhält gerade  ->  28.März 2007
$gsbwfile = "Sendung.txt"; 
$gshandle = fopen ($gsbwfile, "r"); 
$wortsuche = fread ($gshandle, filesize ($gsbwfile));
fclose ($handle);

echo "Dort senden wir alle 4 Wochen von 15-16 Uhr. Unsere nächste Sendung ist am $wortsuche";
?>

Nun möchte ich natürlich nicht nach jeder Sendung am Mittwoch die Seite ändern.
Wieso Seite ändern? Was meinste damit? Oder willst bloß das Datum ändern?

Ist es mit PHP möglich das Datum für alle 4 Wochen auszugeben, ohne Datenbank oder sonstiger speicherung.
Mhm, also doch keine Textdatei -.- wie wäre mit mit Timestamps? Läst dir den Timestramp des --> 28.März 2007 <-- erstmal ausgeben und schreibst es in ein Script. Dort addierst du dann deine 4 Wochen und schaust ob es das heutige Datum schon übersteigt, wenn nicht nochma 4 Wochen ... dann kannst es ausgeben -.-

Habe versucht es zu verstehen und dann danach zu erklären -.-
 
Hallo,

nun ich möchte mit PHP automatisch das Datum der nächten Sendung machen lassen. Wenn nun der 28. März 2007 vorbei ist, möchte ich net meinen Editor öffnen müssen um das Datum auf die nächsten 4 Wochen zu stellen.
wie wäre mit mit Timestamps? Läst dir den Timestramp des --> 28.März 2007 <-- erstmal ausgeben und schreibst es in ein Script. Dort addierst du dann deine 4 Wochen und schaust ob es das heutige Datum schon übersteigt, wenn nicht nochma 4 Wochen ... dann kannst es ausgeben -.-
Ich glaube das müsste gehen. Wie muss ich das nun in PHP umsetzen? :confused: :-(
 
War das jetzt ein Spaß ^^
Also erst einmal ein Tutorial für dich -.-

http://www.tutorials.de/forum/php-tutorials/138624-timestamps-anfaenger.html

Und hier dein Script -.- mir war langweilig ...
Das Scripte läuft nur, wenn du in die Textdatei den Timestamp der letzten Sendung reinschreibst. Hab ich für dich schon mal gemacht ^^

Sendung.txt

Sendung.php
PHP:
<?php
//Timestamp vom heutigen Tag
$timestamp_today = time();

//Lesen des Datums aus Textfile ... --> (Immer letztes Datum->Show!)
$gsbwfile = "Sendung.txt"; 
$gshandle = fopen ($gsbwfile, "r"); 
$timestamp_event = fread ($gshandle, filesize ($gsbwfile));
fclose ($gshandle);

//Prüfen ob Heute größer als Event ...
if($timestamp_today > $timestamp_event){

//4 Wochen in Sekunden
$time_add_weeks = 60*60*24*7*4;

//Plus 4 Wochen
$timestamp_event = $timestamp_event+$time_add_weeks;

//In Textfile schreiben -.-
$gsbwfile = "Sendung.txt"; 
$gshandle = fopen ($gsbwfile, "w");
fwrite($gshandle, $timestamp_event);
fclose ($gshandle);
}

//Timestamp --> Datum
$today = date("$timestamp_event");
$today = date("d F Y", $today);

//Format Englisch->Deutsch
$trans = array(
    'January'   => 'Januar',
    'February'  => 'Februar',
    'March'     => 'März',
    'May'       => 'Mai',
    'June'      => 'Juni',
    'July'      => 'Juli',
    'October'   => 'Oktober',
    'December'  => 'Dezember',
);
$today = strtr($today, $trans);

//Ausgabe ^^
?>

<p><b><font size="4" face="Arial" color="#FF0000">
<marquee><?php echo "Dort senden wir alle 4 Wochen von 15-16 Uhr. Unsere nächste Sendung ist am $today"; ?></marquee></font></b></p>

So könnte das ganze dann mal aussehen.
Nachteil ist natürlich, dass dies nur richtig geändert wird, wenn jemand innerhalb von 4 Wochen auf die Homepage geht -.- Vorraussetzung ist natürlich auch, dass immer der Timestamp der Letzten Sendung in der Textdatei ist, wenn du es mal vom Server haust und dann wieder drauf
 
Zuletzt bearbeitet:
Hier nochmals überarbeitet -.- nun ohne Textdatei etc. Funktioniert auch ^^
Ist auch besser, da nun das ganze IMMER richtig ausgegeben wird auch wenn mal 4 wochen keine auf deine Homepage gelangt oder du das Script mal neu drauf klatschen musst

PHP:
<?php
//Timestamp vom heutigen Tag
$timestamp_today = time();

//Timestamp einer Sendung ... egal welche!
$timestamp_event = mktime(0,0,0,03,28,2007 );

//Anzahl ... für for-Schleife
$anzahl = $timestamp_today-$timestamp_event;

//4 Wochen in Sekunden
$time_add_weeks = 60*60*24*7*4;

//Anzahl vom Addieren herausfinden
$anzahl = $anzahl/(60*60*24);
$anzahl = floor($anzahl);

if("1" <= $anzahl){
$days = "28";
$anzahl = $anzahl/$days;
$anzahl = ceil($anzahl);
}

//Wenn eine Anzahl vorhanden ist, dann Addieren
if($anzahl <= "1"){
for($index = 0; $index < $anzahl; $index++) 
{ 

//Plus 4 Wochen
$timestamp_event = $timestamp_event+$time_add_weeks;

}
}

//Timestamp --> Datum
$today = date("$timestamp_event");
$today = date("d F Y", $today);

//Format Englisch->Deutsch
$trans = array(
    'January'   => 'Januar',
    'February'  => 'Februar',
    'March'     => 'März',
    'May'       => 'Mai',
    'June'      => 'Juni',
    'July'      => 'Juli',
    'October'   => 'Oktober',
    'December'  => 'Dezember',
);
$today = strtr($today, $trans);
//Ausgabe ^^
?>

<p><b><font size="4" face="Arial" color="#FF0000">
<marquee><?php echo "Dort senden wir alle 4 Wochen von 15-16 Uhr. Unsere nächste Sendung ist am $today"; ?></marquee></font></b></p>
 
Zurück