Dennis: Fortschrittsanzeige während PHP-Verarbeitung

Beitrag lesen

Hi Andreas,

Kann mir jmd dazu einen Tipp geben?

Mache Programme gehen beim Setup so vor, dass sie solche Sachen in mehreren Schritten erledigen, also z.B. so:

  • Verzeichnis öffnen, einlesen
  • Bilder 1 - 10 bearbeiten
  • echo '<meta http-equiv="refresh" content="2" />'
  • Ladebalken mit X Prozent ausgeben

Das Script lädt sich dann nach 2 Sekunden neu, und verarbeitet Bilder 11 - 20, und zeigt einen Ladebalken mit mehr abgearbeiteten Prozent an. Nachteil dieser Methode: Es finden unter Umständen eine Menge Requests an den Server statt, was natürlich alles Traffic kostet.

Eine andere Möglichkeit wäre, den PHP-Prozess zu forken und im Hintergrundprozess die Bilder zu verarbeiten, während der Vordergrundprozess eine Seite mit Ladebalken ausgibt. Per AJAX dann den Server abfragen wie weit die Bildverarbeitung bereits ist (ein Erkennungsmechanismus dafür müsstest du dir selber ausdenken) und mit dem Rückgabewert einen entsprechenden Ladebalken anzeigen.

Viele Grüße,
  ~ Dennis.