Homepage selbermachen 7.852 Themen, 35.619 Beiträge

zeitgesteurtes Skript mit PHP?

computerschlumpf / 4 Antworten / Baumansicht Nickles

Hallo,

gibt es bei PHP eine Möglichkeit ein Skript in Abhängigkeit von der Uhrzeit zu starten, also ohne dass jemand das script aufrufen muss?
Meine Übergangslösung:
Also bei Aufruf meiner Seite wird ein Skript aufgerufen. im Skript wird die aktuelle Uhrzeit mit einer abgespiehcerten Uhrzeit verglichen. Existiert ein Unterschied so werden frische Daten aus einer exterenen Seite ausgelesen (langsam) und gespeichert, ansonsten werden nur Daten aus einer Textdatei geholt (schnell).
Das Problem ist, dass der erste pro Stunde dann eine extrem lange Wartezeit auf die Seite hat.
Kann ich das auch anders lösen?
Ich hoffe ich habe mein Problem verständlich genug ausgedrückt.

Gruß

computerschlumpf

There are only 10 types of people in the world: Those who understand binary and those who don't.
bei Antwort benachrichtigen
Heinz_Malcher computerschlumpf „zeitgesteurtes Skript mit PHP?“
Optionen

hmm, die einzige lösung die mir einfallen würde, wäre, eine if schleife zu schreiben, in der du die bedingung der uhrzeit festlegst, nehmen wir mal an, man will den besucher zeitgerecht begrüssen:

<?
$uhrzeit = date ("H");
if ($uhrzeit { echo "Gute Nacht"; } // oder eben einfach das was um die Uhrzeit geschehen sollte
elseif ($uhrzeit { echo "Guten Morgen"; }
elseif ($uhrzeit { echo "Guten Tag"; }
elseif ($uhrzeit { echo "Guten Nachmittag"; }
elseif ($uhrzeit { echo "Guten Abend"; }
?>

Wenn ich das falsch verstanden hab, bitte nochmal posten

bei Antwort benachrichtigen
computerschlumpf Heinz_Malcher „if schleife??“
Optionen

Hallo Heinz,

ich will den Besuchern der Setiseite frische Daten präsentieren die von einer externen Quelle kommen (Berkeley Server). Da dieser Server saulahm ist und ich drei Seiten aufrufen lasse, braucht der ´ne Ewigkeit bis die Daten bereitgestllt werden. Würde ich das so auf der Setiseite präsentieren, hätte jeder Besucher der Setiseite mindestens 1/2 Minute Wartezeit unanbhängig vom Internetzugang. Also habe ich mich für die Variante entschieden, die Abfrageergebnisse in einer Textdatei zu speichern. So wird halt nur maximal jede Stunde die Abfrage getstartet. Allerdings hat derjenige der die Seite dann zum ersten Mal in der Stunde aufruft immer noch die lang Wartezeit. Deswegen würde ich am liebsten ein Script einsetzen welches unabhängig vom Aufruf jede Stunde eine Abfrage macht.
Vielleicht hilft das hier weiter:


$fp = fopen(data.txt","r");
while ($line = fgets($fp,1000)) {
if (ereg("Team_WUs;",$line)) {
$wucount_alt = substr($line, strlen("Team_WUs; "));
}
if (ereg("Stunde;",$line)) {
$Stunde_alt = substr($line, strlen("Stunde; "));
}
fclose($fp);
$Stunde_neu = date("H");
$Stunde_dif = $Stunde_neu - $Stunde_alt;
if (!$Stunde_dif == 0) {
include "team_holen.php";
$wucount_alt = $wucount_neu;
}
echo $wucount_alt;


gruß

computerschlumpf

There are only 10 types of people in the world: Those who understand binary and those who don't.
bei Antwort benachrichtigen
Borlander computerschlumpf „zeitgesteurtes Skript mit PHP?“
Optionen

Hallo Computerschlumpf,
sowas sollte eigentlich mit CronJobs funktionieren. Muss der Hoster allerdings erlauben (ist erst in größeren Paketen drin).

CU Borlander

bei Antwort benachrichtigen
xafford computerschlumpf „zeitgesteurtes Skript mit PHP?“
Optionen

kann borlander nur zustimmen, einzige möglichkeit sind cronjobs, oder du hast selbst einen recher ständig am netz, von dem aus du das versteckte script aufrufst und somit den start initiirst. serverseitige scripte verschwinden eben leider aus der processliste, sobald sie abgeschlossen sind und dein hoster würde dir auf das dach steigen und dir die antenne verbiegen, wenn du ein script schreiben würdest, das in einer endlosschleife arbeitet, zumal nach der php.ini normalerweise ein script nach maximal 60 sekunden verarbeitungszeit gestoppt wird aus sicherheitsgründen.

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen