interaktives PHP

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • interaktives PHP

    Tag,

    frage mich schon eine geraume Zeit lang, nach welchen Modell man mit flush() bzw. den Ausgabepufferfunktionen und einer Portion Javascript laengere Arbeitsschritte in PHP (zum Beispiel beim Schreiben von großen Datenmengen in eine Datei als Backup oder der Ausfuehrung von Befehlen auf Shell-Ebene) auf den Browser in einem geeigneten Interface ausgeben kann (kein einfaches Aneinanderreihen von Zeilen). Oder das Ganze auf dem Command Line Interface von PHP direkt ueber den stdout der Konsole (so ne Anzeige wie wget zum Bleistift).

    Das Problem liegt jetzt JS darin, dass man auf jeden Fall einen Pollingprozess laufen lassen muesste, der immer wieder den Status einer Variable laufen laesst. Fragt sich nur, wie ich diese Variable aendern lassen kann, denn der Browser muss ja den <script>-Teil auch abgeschlossen wissen mit </script>.
    Problem aufm CLI waere, die Ausgabeanzeige zu leeren.

  • #2
    Hmm. Bei wirklich langen operationen würd ichs so probieren. PHP-Skript stößt mit exec() ein anderes Skript an, das im Hintergrund läuft. Dieses bekommt eine Zufalls-ID (z.B. 892939) mitgeliefert und schreibt hin und wieder den aktuellen Status in die Datei 892939.txt, bis die Operation beendet ist. Client- (oder CLI-, hihi) seitig ruft das laufende Skript nun immer wieder den Status der Operation aus der Datei ab - ob via JS/Remote Scripting, Flash oder einem einfachen Meta-Refresh ist dann ja wurscht.

    Kommentar


    • #3
      Naja, Ansatz is schon mal nocht schlecht. Aber wie gesagt, liegt mein Problem nicht in der Realisierung in PHP sondern in JS/HTML, zum Beispiel eine Prozentanzeige, auf jeden Fall etwas, was man auch vernuenftig anzeigen kann, 5000 Zeilen untereinander ausgeben kann ich auch, ich moechte, dass es _ein_ interaktive Interface wird, so ne Art tail -f...

      Kommentar


      • #4
        Dann lies mir besser zu! *grmbl* Von tausenden Zeilen untereinander war nicht die Rede, da hab ich dich schon verstanden. Ih,f3n die temporäre Datei kannst Du einen Prozentwert schreiben, den du z.B. in einem kleinen IFRAME mit Meta-Refresh aktualisiert ausgeben kannst. Oder Du machst es ganz elegant und benutzt (Aktuellen Browser und JS beim Client vorausgesetzt) JS Remote Scripting, womit du theoretisch sogar einen echten, dynamischen Prozentbalken realisieren kannst. Oder eben mit Flash.
        Zuletzt geändert von pekka; 24.01.2004, 10:39.

        Kommentar

        Lädt...
        X