(PHP 4, PHP 5)
ignore_user_abort — Stellt ein, ob der Verbindungsabbruch eines Clients die Skript-Ausführung abbrechen soll
$value
] )Setzt den Wert dafür, ob der Abbruch einer Client-Verbindung die weitere Abarbeitung eines Skripts beenden soll.
value
Sofern dieser Parameter angegeben wird, überschreibt diese Funktion
die aktuelle Einstellung von ignore_user_abort mit dem
übergebenen value
. Ist der Parameter nicht
angegeben, gibt die Funktion nur die aktuelle Einstellung zurück,
ohne sie zu verändern.
Gibt das vorhergehende Setting als Ganzzahl (integer) zurück.
Beispiel #1 Ein ignore_user_abort()-Beispiel
<?php
// Ignoriere Abbruch durch den Benutzer und erlaube dem Skript weiterzulaufen
ignore_user_abort(true);
set_time_limit(0);
echo 'Teste Connectionhandling in PHP';
// Lasse eine sinnfreie Schleife laufen, die uns irgendwann
// hoffentlich von der Seite wegklicken oder den "Stop"-Button
// betätigen lässt
while(1)
{
// Schlug die Verbindung fehl?
if(connection_status() != CONNECTION_NORMAL)
{
break;
}
// 10 Sekunden warten
sleep(10);
}
// Wird dieser Punkt erreicht, wurde das 'break'
// von einem Punkt innerhalb der while-Schleife getriggert
// Somit können wir hier ein Log schreiben oder andere Aufgaben
// ausführen, die nicht davon abhängig sind, ob der Browser des
// Benutzers noch eine stehende Verbindung zum Server hat
?>
PHP wird nicht herausfinden, ob ein User die Verbindung abgebrochen hat, bevor es nicht versucht, Informationen an den Client zu senden. Die einfache Verwendung eines echo-Statements ist keine Garantie dafür, dass eine Information übertragen wurde, lesen Sie daher auch die Dokumentation zu flush().