| |
| * Link führt ins Internet |
|
| |
register_shutdown_function
|
|
Befehl | Version | Beschreibung | Beispiel 1 | Ausgabe 1 | Inhalt der Datei zert.txt (zu Bsp. 1) | Beispiel 2 | Ausgabe 2 | Inhalt der Datei zert.txt (zu Bsp. 2) |
Befehl
| int register_shutdown_function ( string func ) |
Version
| (PHP 3 >= 3.0.4, PHP 4, PHP 5) |
Beschreibung
Mit register_shutdown_function() registriert man eine Funktion (func), welche
bei Beendigung des Skripts (normal oder durch Abbruch) noch ausgeführt wird. Es
ist darauf zu achten, dass innerhalb der Funktion nicht mit "echo" oder "print"
gearbeitet wird, da bei einem Abbruch keine Daten mehr an den Browser gesendet
werden.
Diese Funktion ist oftmals sehr nützlich, um Datenverluste zu vermeiden und
wichtige Informationen noch abspeichern zu können.
Siehe auch:
. connection_aborted()
. connection_status()
. connection_timeout()
. ignore_user_abort()
Zu Beispiel 1:
Bei dem Beispiel wurde ein kleiner Countdown realisiert, welcher im
Sekundenabstand von 1-5 zählt. Nach der Ausgabe der Zahl 3 wurde mit Hilfe des
STOP-Buttons des Browser das aktuelle Skript abgebrochen (siehe Ausgabe). Der
Inhalt der Datei zert.txt enthält deshalb nur die Zahlen 1-4, die Zahl 5 fehlt.
Zu Beispiel 2:
Bei dem Beispiel wurde derselbe Countdown realisiert, welcher im
Sekundenabstand von 1-5 zählt. Nach der Ausgabe der Zahl 2 wurde mit Hilfe des
STOP-Buttons des Browser das aktuelle Skript abgebrochen (siehe Ausgabe).
Dennoch lief im Hintergrund (für den User nicht sichtbar) das Skript weiter und
schrieb alle Zahlen (1-5) in die Datei (siehe Inhalt der Datei zert.txt). |
Beispiel 1
<?PHP
echo "Ein simpler Countdown<br>";
function countdown(){
for($x=1;$x<=5;$x++){
$fp = fopen('zert.txt','a');
flush();
usleep(1000000);
echo $x . "<br>";
$zahlen = $x;
fwrite($fp,$zahlen);
fclose($fp);
}
}
countdown();
?>
|
Ausgabe 1
Ein simpler Countdown
1
2
3
|
Inhalt der Datei zert.txt (zu Bsp. 1)
Beispiel 2
<?PHP
register_shutdown_function('countdown');
ignore_user_abort();
echo "Ein simpler Countdown<br>";
function countdown(){
for($x=1;$x<=5;$x++){
$fp = fopen('zert.txt','a');
flush();
usleep(1000000);
echo $x . "<br>";
$zahlen = $x;
fwrite($fp,$zahlen);
fclose($fp);
}
}
countdown();
?>
|
Ausgabe 2
Ein simpler Countdown
1
2
|
Inhalt der Datei zert.txt (zu Bsp. 2)
|
|
|
|
|
|
|