Mailinglisten-Archive |
Ulf Wendel wrote:
>
> Alexander Ott schrieb:
> > Ich habe ein kleines Problem mit der Funktion
> > ignore_user_abort(). Welchen Parameter muss man da
> > übergeben, wenn man will, dass das Script weiterläuft, wenn der
> > User den Browser schliesst, oder eine andere URL aufsucht.
> >
> > Aus dem Handbuch wird man nicht schlau, dort wird nur
> > beschrieben, dass man 0 für normal, 1 für Abort und
> > 2 für Timeout übergeben soll ?????
>
> Generell bei solchen Fragen:
>
> [1] http://www.zugeschaut-und-mitgebaut.de/php/i.html
> [2]
> http://www.zugeschaut-und-mitgebaut.de/php/function.ignore_user_abort.html
> [3] http://lxr.php.net/source/php4/ext/standard/basic_functions.c#2159
Hi Ulf, leider helfen bei solchen Fragen die Funktionstabellen von
Hartmut nicht wirklich weiter.
> 2170 switch (ZEND_NUM_ARGS()) {
> 2171 case 0:
> 2172 break;
>
> Keine Daten bekommen - skip it...
>
> 2173 case 1:
> 2174 if (zend_get_parameters_ex(1, &arg) == FAILURE) {
> 2175 RETURN_FALSE;
> 2176 }
> 2177 convert_to_boolean_ex(arg);
>
> Ein Übergabewert? convert_to_boolean()
>
> 2178 PG(ignore_user_abort) = (zend_bool) Z_LVAL_PP(arg);
> 2179 break;
> 2180 default:
> 2181 WRONG_PARAM_COUNT;
> 2182 break;
> ...
>
> Die Funktion frißt nichts anderes als einen Boolean. In PHP stehen Dir
> zur einfachen Arbeit mit Booleans die vordefinierten Konstanten true und
> false zur Verfügung.
Soll heißen, entweder man gibt ein Argument an oder man läßt es bleiben.
Das hat aber mit Booleans herzlich wenig zu tun, den die Settings bei
ignore_user_abort sollten Integer sein und die sind halt mal nicht mit
TRUE und FALSE zu füttern.
> http://www.php.net/manual/de/features.connection-handling.php ist
> vielleicht nicht ohne Kaffe lesbar, aber durchaus verständlich: "Wenn
> das eingestellte Zeitlimit (siehe set_time_limit()) überschritten wird,
> wird der Status TIMEOUT gesetzt." + letzter Absatz. Von
> ignore_user_abort() steht dort nichts in Zusammenhang mit 2 - TIMEOUT.
Aber in connection-handling.* stehts andersrum.
> Anyway, der Prototyp ist im Manual schräg:
> http://www.php.net/manual/en/function.ignore-user-abort.php.
Also ich schau auch manchmal ins Manual und da ist mir doch letzte Woche
aufgefallen, dass kein einziger Prototyp von den reichlichen
POSIX-Funktionen richtig sein kann. Ich glaube kk verwechselt double mit
int.
> Wenn Du jetzt immer noch im Wald stehst, laß Dich von den PHP buildern
> beraten, die Werbung in den stets zu lesenden "User Contributed Notes"
> machen.
Leider ist mein Urlaub zu Ende und deshalb hab ich zum Aufräumen in den
"User Contributed Notes" nicht viel Zeit.
-Egon
--
SIX Offene Systeme GmbH · Stuttgart - Berlin
Sielminger Straße 63 · D-70771 Leinfelden-Echterdingen
Fon +49 711 9909164 · Fax +49 711 9909199 http://www.six.de
Besuchen Sie uns auf der CeBIT 2001, Halle 6, Stand F62/4
php::bar PHP Wiki - Listenarchive