Dennis: Progessbar beim Downlaoden von Dateien (Ajax)

Beitrag lesen

Hi DanielE,

Aber herzlichen Dank für den Tipp!

Arg, das dies unter Windows nicht funktioniert war mir bewusst - ich hab noch überlegt, ob ich das in mein Posting noch reinschreiben soll oder nicht *g*

Also der Client ruft den Apache auf localhost auf... das ist also kein Problem, oder?

Eigentlich nicht... Die meisten Browser sind so konfiguriert, sowieso keinen Proxy zu nutzen für localhost bzw. 127.0.0.1 - auch wenn für das Internet ein Proxy eingestellt ist. Ich glaube eher an die Beschränkung, dass du per AJAX nur einen Request an einen Server gleichzeitig machen darfst.

Fast genauso habe ich es ja vor. Nur, dass ich die Verbindung leider nicht trennen kann... oder doch? Kann man eigentlich per PHP ein anderes Skript aufrufen und es einfach laufen lassen?!?!?

Wenn wir jetzt mal davon ausgehen, dass ich mit oben genannter Einschränkung recht habe, dann müsstest du diese Verbindung trennen - unter Linux kannst du Anwendungen im Hintergrund starten mit einem

exec("./anwendung &");

Das & Zeichen danach schiebt die Anwendung in den Hintergrund. Ob das unter Windows funktioniert, oder ob es was anderes unter Windows gibt weiß ich nicht. Da müsstest du halt mal googeln.[1]

In deinem Fall müsstest du wohl so etwas machen (unter Linux):

exec("/pfad/zu/php-interpreter /pfad/zu/php-script &");

Ob es zwingend notwendig ist weiß ich nicht, es hat sich aber als hilfreich erwiesen (siehe auch bereits benannte Threads im Archiv), in dem im Hintergrund gestarteten PHP-Script erst mal ein

fclose(STDIN);
  fclose(STDOUT);
  flcose(STDERR);

zu machen, da sich sonst das erste PHP-Script, das den Hintergrund Prozess gestartet hat, trotzdem totwartet, weil die Dateideskriptoren zu dem Hintergrund Prozess noch offen sind.

[1] Ok, aus eigenem Interesse habe ich grade mal noch selber gegoogelt, "php windows exec background" schienen mir gute Stichworte zu sein, abgesehen von gefundenen Kommentaren im PHP-Manual, hielt ich diese Seite für sehr hilfreich.

Viele Grüße aus Kanada,
  ~ Dennis.