strix Geschrieben 20. Oktober 2010 Geschrieben 20. Oktober 2010 Hallo Ich habe eine Frage: Ist es möglich, während dem Laden eines PHP-Scripts eine Grafik anzuzeigen, um dem User zumindest zu signalisieren, dass im Hintergrund überhaupt etwas passiert? Mit Google bin ich nur auf äusserst hilfreiche Tipps in der Richtung von "optimier doch dein Script" gestossen, was aber nicht sehr hilfreich ist. Das Problem: ich lese per PHP und SimpleXML grössere Mengen an Daten aus, das kann gut und gerne 30-60 Sekunden dauern. Gibt es eine Möglichkeit, das irgendwie zu implementieren? Dank strix Zitieren
lit-web Geschrieben 20. Oktober 2010 Geschrieben 20. Oktober 2010 Hallo Ich habe eine Frage: Ist es möglich, während dem Laden eines PHP-Scripts eine Grafik anzuzeigen, um dem User zumindest zu signalisieren, dass im Hintergrund überhaupt etwas passiert? Mit Google bin ich nur auf äusserst hilfreiche Tipps in der Richtung von "optimier doch dein Script" gestossen, was aber nicht sehr hilfreich ist. Das Problem: ich lese per PHP und SimpleXML grössere Mengen an Daten aus, das kann gut und gerne 30-60 Sekunden dauern. Gibt es eine Möglichkeit, das irgendwie zu implementieren? Dank strix Überleg doch mal wo PHP läuft. Nur PHP basierend bekommst du das nicht hin, du wirst dich da wohl oder übel mit AJAX auseinandersetzen müssen um so etwas zu realisieren. Gruß Lit-Web Zitieren
flashpixx Geschrieben 20. Oktober 2010 Geschrieben 20. Oktober 2010 Überleg doch mal wo PHP läuft. Nur PHP basierend bekommst du das nicht hin, [...] Das ist so nicht korrekt, denn man kann durch entsprechendes Flushing, das durch das PHP Script entsprechend erzeugt wird, kontinuierlich Daten übermitteln, womit man so etwas wie einen Ladebalken erzeugen kann. Ob dies nun sinnvoll ist, ist eine andere Sache. Zitieren
strix Geschrieben 20. Oktober 2010 Autor Geschrieben 20. Oktober 2010 Das Problem sind nicht die nötigen Fachkenntnisse, AJAX kann ich gut genug. Ich weiss nur nicht, wie ich das realisieren soll. Auch ein AJAX-Script wird erst angezeigt, wenn es geladen wurde. Oder habe ich den falschen Denkansatz? Zitieren
flashpixx Geschrieben 21. Oktober 2010 Geschrieben 21. Oktober 2010 Ich denke ein Ansatz über Ajax ist möglich, aber dafür musst Du auch PHP-seitig arbeiten: Das PHP Script, das die Berechnung durchführt versendet bevor die Berechnung startet, ein entsprechendes HTML Dokument mit einem Ajax Request zu einem anderen PHP Script. Während der Berechnung schreibt es eben den aktuellen Status in eine Pipe. Das andere PHP Script führt dann zyklisch die Abfrage auf der Pipe durch, welcher Status vorliegt. Wenn die Berechnung zu Ende ist, wird über Ajax entsprechend eine weiteres PHP Script geladen, dass dann in der Bearbeitung weiter geht. Evtl kann man das auch in ein PHP Script mit entsprechenden Callback Funktionen realisieren. Wichtig ist, dass Du darauf achtest, dass Du das Flushing richtig machst, denn bevor die Berechnung startet, muss eine komplette HTML Seite an den Browser übermittelt werden. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.