phpbar.de logo

Mailinglisten-Archive

[php] mit php prozess im BG starten

[php] mit php prozess im BG starten

Johannes Schäfer php_(at)_phpcenter.de
Fri, 11 Jan 2002 20:52:51 +0100


hi leute

ok, das problem ist gelöst, aber mir ist auch noch ein ansatz
eingefallen:
in php gibt es eine funktion flush welche den output-buffer entleert.

wenn man nun ein exe aufruft und den user informieren will das resultat
in ca. 5 min fertig ist kann man folgendes probieren:

<html>
...
<!--irgend was in html-->
</html>
<?
flush();
exec("...");
?>

zur erklärung: zuerst steht irgend was in html (z.b. die user info)
dann nach wird mit flush der puffer entleert so der der user den
text schon sieht und weitersurfen kann (ok, im browser bewegt sich noch
das fähnchen oder sonst was, aber das stört den DAU doch nicht).
erst jetzt wird das programm ausgeführt und das kann sich zeit nehmen.

eventuell muss man mit ignore_user_abort verhindern das das script
abgebrochen wird, aber das ist ja kein problem.

also, das jetzt nur mal als kleinen denkansatz, ob es auch auf das
problem
von thomas anwendbar ist weiß ich nicht oder ob irgendwelche browser
probleme
damit haben.
ich habe das ganze auch nicht ausprobiert.


Mit freundlichen Grüßen

johannes schäfer

ps. vielleicht könnte man auch per header-weiterleitung anstatt dem html
das problem mit dem sich noch bewegenden fähnchen aus dem weg gehen.
z.b.
<?
header("Location: next.html"); //ok, ich weiß man sollte nur absolute
pfad angeben
flush();
exec("...");
?>


php::bar PHP Wiki   -   Listenarchive