aktuelle.kurse/old_m133/4_Modulinhalte_und_Uebungen/00-Anwendungen-Beispiele-Uebungen/PHP_Referenz/funktionsreferenz/functions_funktionen/register_shutdown_function.html
Müller Harald 507e5da390 muh
2022-05-13 11:53:50 +02:00

238 lines
12 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>register_shutdown_function</title>
<link rel="stylesheet" type="text/css" href="../../src/self.css">
<meta name="description" content="Registriert eine Funktion f&uuml;r das Skriptende">
<meta name="keywords" content="SELFPHP, PHP, Functions-Funktionen, register_shutdown_function">
<meta name="author" content="Damir Enseleit, mail@selfphp.info">
<meta name="DC.Contributer" content="Matthias Hupp, m.hupp@selfphp3.de">
<meta name="DC.Publisher" content="Damir Enseleit, mail@selfphp.info">
<meta name="DC.Date" content="2001-08-18T12:18+01:00">
<meta name="DC.Identifier" content="http://www.selfphp3.de/funktionsreferenz/functions_funktionen/register_shutdown_function.html">
<meta name="DC.Language" content="de">
<meta name="DC.Rights" content="../../editorial/index.html">
<meta name="SELF.Firstdate" content="2001-08-18T12:18+01:00">
<meta name="SELF.Version" content="1">
<meta name="SELF.Pagetype" content="Information">
<meta name="SELF.Path" content="SELFPHP == ../../index.php // Funktionsreferenz == ../index.php // Functions-Funktionen == index.html">
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#AA5522" vlink="#772200" alink="#000000">
<table cellpadding="4" cellspacing="0" border="0" width="100%">
<tr>
<td bgcolor="#FFEEDD" class="nav"><a class="an" name="top"><img src="../../src/refkap.gif" width="16" height="13" border="0" alt="Teil von"></a> <a href="../../index.html"><b>SELFPHP</b></a>/<a href="../../navigation/index.html">Navigationshilfen</a> <img src="../../src/refkap.gif" width="16" height="13" border="0" alt="Teil von"> <a href="../index.html"><b>Funktionsreferenz</b></a> <img src="../../src/refkap.gif" width="16" height="13" border="0" alt="Teil von"> <a href="index.html"><b>Functions-Funktionen</b></a></td>
</tr>
</table>
<table cellpadding="4" cellspacing="0" border="0" width="100%">
<tr>
<td bgcolor="#EEEEEE" class="doc" width="110"><img src="../../src/logo.gif" width="106" height="109" border="0" alt="SEL.html"></td>
<td bgcolor="#EEEEEE" class="doc" valign="bottom" width="100%">
<h2>register_shutdown_function</h2></td>
</tr>
<tr>
<td bgcolor="#EEEEEE" class="doc" valign="top" align="center"> <img src="../../src/dokx.gif" width="30" height="20" vspace="6" border="0" alt="Informationsseite">
</td>
<td bgcolor="#FFFFFF" valign="top" nowrap colspan="2">
<p> <img src="../../src/down.gif" width="14" height="10" border="0" alt="nach unten">&nbsp;<a href="#befehl"><b>Befehl</b></a><br>
<img src="../../src/down.gif" width="14" height="10" border="0" alt="nach unten">&nbsp;<a href="#version"><b>Version</b></a><br>
<img src="../../src/down.gif" width="14" height="10" border="0" alt="nach unten">&nbsp;<a href="#beschreibung"><b>Beschreibung</b></a><br>
<img src="../../src/down.gif" width="14" height="10" border="0" alt="nach unten">&nbsp;<a href="#beispiel1"><b>Beispiel1</b></a><br>
<img src="../../src/down.gif" width="14" height="10" border="0" alt="nach unten">&nbsp;<a href="#ausgabe1"><b>Ausgabe1</b></a><br>
<img src="../../src/down.gif" width="14" height="10" border="0" alt="nach unten">&nbsp;<a href="#beispiel2"><b>Beispiel2</b></a><br>
<img src="../../src/down.gif" width="14" height="10" border="0" alt="nach unten">&nbsp;<a href="#ausgabe2"><b>Ausgabe2</b></a><br>
</p>
</td>
</tr>
<tr>
<td colspan=3 bgcolor="#EEEEEE" class="doc"><a href="#bottom"><img src="../../src/down.gif" width="14" height="10" border="0" alt="nach unten"></a>&#160;</td>
</tr>
</table>
<h2 class="Sh2"><a class="an" name="befehl">Befehl</a></h2>
<table width="100%" cellpadding=10><tr>
<td class="xmpcode" bgcolor="#E4EEFF">int <b>register_shutdown_function</b>(string
func)</td>
</tr></table>
<p>&nbsp;</p>
<table bgcolor="#EEEEEE" class="doc" width="100%"><tr><td>
<a href="#top"><img src="../../src/up.gif" width="14" height="10" border="0" alt="nach oben"></a><a href="#bottom"><img src="../../src/down.gif" width="14" height="10" border="0" alt="nach unten"></a>&#160;
</td></tr></table>
<h2 class="Sh2"><a class="an" name="version">Version</a></h2>
<table width="100%" cellpadding=10 height="32">
<tr>
<td class="xmpcode" bgcolor="#E4EEFF" height="20">
<p>PHP 3 &gt;= 3.0.4, PHP 4 &gt;= 4.0b1</p>
</td>
</tr></table>
<p>&nbsp;</p>
<table bgcolor="#EEEEEE" class="doc" width="100%"><tr><td>
<a href="#top"><img src="../../src/up.gif" width="14" height="10" border="0" alt="nach oben"></a><a href="#bottom"><img src="../../src/down.gif" width="14" height="10" border="0" alt="nach unten"></a>&#160;
</td></tr></table>
<h2 class="Sh2"><a class="an" name="beschreibung">Beschreibung</a></h2>
<table width="100%" cellpadding=10 height="469">
<tr>
<td class="xmpcode" bgcolor="#E4EEFF" height="57">
<p>Mit register_shutdown_function() registriert man eine Funktion (func),
welche bei<br>
Beendigung des Skripts (normal oder durch Abbruch) noch ausgef&uuml;hrt
wird. Es<br>
ist darauf zu achten, dass innerhalb der Funktion nicht mit &quot;echo&quot;
oder &quot;print&quot;<br>
gearbeitet wird, da bei einem Abbruch keine Daten mehr an den Browser<br>
gesendet werden.<br>
Diese Funktion ist oftmals sehr n&uuml;tzlich, um Datenverluste zu vermeiden
und<br>
wichtige Informationen noch abspeichern zu k&ouml;nnen.</p>
<p>Siehe auch:</p>
<ul>
<li><a href="../sonstige_funktionen/connection_aborted.html">connection_aborted()</a></li>
<li><a href="../sonstige_funktionen/connection_status.html">connection_status()</a></li>
<li><a href="../sonstige_funktionen/connection_timeout.html">connection_timeout()</a></li>
<li><a href="../sonstige_funktionen/ignore_user_abort.html">ignore_user_abort()</a></li>
</ul>
<p>Zu Beispiel 1:<br>
Bei dem Beispiel wurde ein kleiner Countdown realisiert, welcher im<br>
Sekundenabstand von 1-5 z&auml;hlt. Nach der Ausgabe der Zahl 3 wurde
mit Hilfe des<br>
STOP-Buttons des Browser das aktuelle Skript abgebrochen (siehe Ausgabe).
Der<br>
Inhalt der Datei zert.txt enth&auml;lt deshalb nur die Zahlen 1-4, die
Zahl 5 fehlt.</p>
<p>Zu Beispiel 2:<br>
Bei dem Beispiel wurde derselbe Countdown realisiert, welcher im Sekundenabstand<br>
von 1-5 z&auml;hlt. Nach der Ausgabe der Zahl 2 wurde mit Hilfe des STOP-Buttons
des<br>
Browser das aktuelle Skript abgebrochen (siehe Ausgabe). Dennoch lief
im<br>
Hintergrund (f&uuml;r den User nicht sichtbar) das Skript weiter und schrieb
alle Zahlen<br>
(1-5) in die Datei (siehe Inhalt der Datei zert.txt).</p>
</td>
</tr></table>
<p>&nbsp;</p>
<table bgcolor="#EEEEEE" class="doc" width="100%"><tr><td>
<a href="#top"><img src="../../src/up.gif" width="14" height="10" border="0" alt="nach oben"></a><a href="#bottom"><img src="../../src/down.gif" width="14" height="10" border="0" alt="nach unten"></a>&#160;
</td></tr></table>
<h2 class="Sh2"><a class="an" name="beispiel1">Beispiel1</a></h2>
<table width="100%" cellpadding=10 height="66">
<tr>
<td class="xmpcode" bgcolor="#E4EEFF">
<pre>&lt;?PHP<br>echo &quot;Ein simpler Countdown&lt;br&gt;&quot;;<br>function countdown(){<br> for($x=1;$x&lt;=5;$x++){<br> $fp = fopen('zahlen.txt','a');<br> flush();<br> usleep(1000000);<br> echo $x . &quot;&lt;br&gt;&quot;;<br> $zahlen = $x; <br> fwrite($fp,$zahlen);<br> fclose($fp);<br> }<br>}<br>countdown();<br>?&gt;</pre>
<p></p>
</td>
</tr></table>
<p>&nbsp;</p>
<table bgcolor="#EEEEEE" class="doc" width="100%"><tr><td>
<a href="#top"><img src="../../src/up.gif" width="14" height="10" border="0" alt="nach oben"></a><a href="#bottom"><img src="../../src/down.gif" width="14" height="10" border="0" alt="nach unten"></a>&#160;
</td></tr></table>
<h2 class="Sh2"><a class="an" name="ausgabe1">Ausgabe1</a></h2>
<table width="100%" cellpadding=10 height="45">
<tr>
<td class="xmpcode" bgcolor="#E4EEFF" height="57">
<p>Ein simpler Countdown<br>
1<br>
2<br>
3<br>
<br>
<br>
Inhalt der Datei zahlen.txt: 1234</p>
</td>
</tr></table>
<p>&nbsp;</p>
<table bgcolor="#EEEEEE" class="doc" width="100%"><tr><td>
<a href="#top"><img src="../../src/up.gif" width="14" height="10" border="0" alt="nach oben"></a><a href="#bottom"><img src="../../src/down.gif" width="14" height="10" border="0" alt="nach unten"></a>&#160;
</td></tr></table>
<h2 class="Sh2"><a class="an" name="beispiel2">Beispiel2</a></h2>
<table width="100%" cellpadding=10 height="66">
<tr>
<td class="xmpcode" bgcolor="#E4EEFF">
<pre>&lt;?PHP<br>register_shutdown_function('countdown');<br>ignore_user_abort();<br>echo &quot;Ein simpler Countdown&lt;br&gt;&quot;;<br>function countdown(){<br> for($x=1;$x&lt;=5;$x++){<br> $fp = fopen('zahlen.txt','a');<br> flush();<br> usleep(1000000);<br> echo $x . &quot;&lt;br&gt;&quot;;<br> $zahlen = $x; <br> fwrite($fp,$zahlen);<br> fclose($fp);<br> }<br>}<br>countdown();<br>?&gt;</pre>
<p></p>
</td>
</tr></table>
<p>&nbsp;</p>
<table bgcolor="#EEEEEE" class="doc" width="100%"><tr><td>
<a href="#top"><img src="../../src/up.gif" width="14" height="10" border="0" alt="nach oben"></a><a href="#bottom"><img src="../../src/down.gif" width="14" height="10" border="0" alt="nach unten"></a>&#160;
</td></tr></table>
<h2 class="Sh2"><a class="an" name="ausgabe2">Ausgabe2</a></h2>
<table width="100%" cellpadding=10 height="45">
<tr>
<td class="xmpcode" bgcolor="#E4EEFF" height="57">
<p>Ein simpler Countdown<br>
1<br>
2<br>
<br>
<br>
Inhalt der Datei zahlen.txt: 12345</p>
<p></p>
<p></p>
</td>
</tr></table>
<p>&nbsp;</p>
<table cellpadding="4" cellspacing="0" border="0" width="100%">
<tr><td colspan=2 bgcolor="#EEEEEE" class="doc">
<a href="#top"><img src="../../src/up.gif" width="14" height="10" border="0" alt="nach oben"></a>
</td></tr>
<tr>
<td bgcolor="#EEEEEE" class="doc" align="right" width="110">weiter:<a href="../image_funktionen/index.html"><img src="../../src/next.gif" width="10" height="10" border="0" hspace="10" alt="weiter"></a></td>
<td bgcolor="#FFFFFF"><img src="../../src/dok.gif" width="15" height="10" border="0" alt="Seite">
<a href="../image_funktionen/index.html"><b>Image-Funktionen</b></a> </td>
</tr>
<tr>
<td bgcolor="#EEEEEE" class="doc" align="right" width="110">zur&uuml;ck:<a href="get_defined_functions.html"><img src="../../src/prev.gif" width="10" height="10" border="0" hspace="10" alt="zur&uuml;ck"></a></td>
<td bgcolor="#FFFFFF" width="100%"><img src="../../src/dok.gif" width="15" height="10" border="0" alt="Seite">
<a href="get_defined_functions.html"><b>get_defined_functions</b></a> </td>
</tr>
<tr><td colspan=2 bgcolor="#EEEEEE" class="doc">&#160;</td></tr>
</table><table cellpadding="4" cellspacing="0" border="0" width="100%">
<tr>
<td bgcolor="#FFEEDD" class="nav"><a class="an" name="bottom"><img src="../../src/refkap.gif" width="16" height="13" border="0" alt="Teil von"></a>
<a href="../../index.html"><b>SELFPHP</b></a>/<a href="../../navigation/index.html">Navigationshilfen</a> <img src="../../src/refkap.gif" width="16" height="13" border="0" alt="Teil von">
<a href="../index.html"><b>Funktionsreferenz</b></a> <img src="../../src/refkap.gif" width="16" height="13" border="0" alt="Teil von">
<a href="index.html"><b>Functions-Funktionen</b></a></td>
</tr>
</table>
<p><a class="an" name="bottom">&copy; 2001, 2002, 2003</A> <img src="../../src/mail.gif" width="15" height="10" border="0" alt="E-Mail">&nbsp;<a href="mailto:mail@selfphp.info">Damir Enseleit, mail@selfphp.info</a></p>
</body>
</html>