SELFPHP

SELFPHP-Druckversion
Original Adresse dieser Seite:
http://www.selfphp.de/funktionsreferenz/sonstige_funktionen/ignore_user_abort.php
© 2001-2017 E-Mail SELFPHP OHG, info@selfphp.de



ignore_user_abort


nach unten nach oben Befehl

int ignore_user_abort ( [bool $Einstellung] )



nach unten nach oben Version

(PHP 4, PHP 5)



nach unten nach oben Beschreibung

Mit ignore_user_abort() kann man ermitteln oder einstellen, ob der Verbindungsabbruch eines Clients die aktuelle Skriptausführung abbrechen soll. Übergeben Sie dazu im Parameter setting den Wert true (Verbindungsabbruch soll die Skriptausführung nicht beenden) oder false (Verbindungsabbruch soll die Skriptausführung beenden). Wenn Sie der Funktion kein Argument übergeben, erhalten Sie die aktuelle Einstellung als Ergebnis zurück. Bevor Sie ignore_user_abort() aufrufen, sollten Sie mit register_shutdown_function() festlegen, welche Funktion nach dem Abbruch durch den User noch ausgeführt werden soll. Diese Funktion ist oftmals sehr nützlich, um keine Datenverluste zu erhalten und wichtige Informationen noch abspeichern zu können.

Siehe auch:

register_shutdown_function()

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 mittels dem STOP-Button des Browser das aktuelle Skript abgebrochen (siehe Ausgabe). Der Inhalt der Datei zahlen.txt konnte allerdings nur noch die Zahlen 1-4 aufweisen - die Zahl 5 fehlt.

Zu Beispiel 2:

Bei dem Beispiel wurde ein kleiner Countdown realisiert, welcher im Sekundenabstand von 1-5 zählt. Nach der Ausgabe der Zahl 2 wurde mittels dem STOP-Button des Browser das aktuelle Skript abgebrochen (siehe Ausgabe). Dennoch lief im Hintergrund (für den User nicht sichtbar) das Skript weiter und schrieb alle Informationen (1-5) in die Datei (siehe Inhalt der Datei zahlen.txt).



nach unten nach oben Inhalt der Datei zahlen.txt


1234




nach unten nach oben 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 ();
?>




nach unten nach oben Ausgabe 1


Ein simpler Countdown
1
2
3




nach unten nach oben Inhalt der Datei zahlen.txt


12345




nach unten nach oben 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 ();
?>




nach unten nach oben Ausgabe 2


Ein simpler Countdown
1
2