flush() alternative? | Browser eof senden

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

  • flush() alternative? | Browser eof senden

    Mein Skript führt noch einige Berechnungen durch, nachdem die Ausgabe beendet ist. Der Browser wartet mit der Anzeige aber bis das Skript fertig ist. Also möchte ich dem Browser vorgaukeln das Skript sei abgeschlossen nachdem die Ausgabe beendet ist.
    Die Lösung dafür müsste flush() sein. Das macht aber einige Probleme es geht nicht im Wamp und ich bekomme es nicht hin diese Seite mit gzip zu komprimieren.
    Ich hoffe es gibt eine Möglichkeit dem Browser mitzuteilen, dass das Seitenende erreicht ist.
    Signaturen sind Platzverschwendung!

  • #2
    Re: flush() alternative? | Browser eof senden

    Original geschrieben von XAX
    Das macht aber einige Probleme es geht nicht im Wamp
    schöne Fehlerbeschreibung

    Und was gzip damit zutun haben soll

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      na es geht nicht / wird nicht unterstützt was soll man mehr dazu sagen

      und thema gzip:

      PHP-Code:
      ob_start('ob_gzhandler');  
      echo 
      '1';
       
      flush(); // ob_flush();  ob_end_flush();   alles probiert
       
      sleep(10);
      echo 
      '2'
      Das wird auch im Lamp erst nach 10 Sekunden angezeigt
      im Wamp sowieso
      Signaturen sind Platzverschwendung!

      Kommentar


      • #4
        Flush funktioniert laut Manual ohne wenn und aber, abgesehen dann wenn gzip aktiviert ist:
        http://de.php.net/flush#59066
        oder probiere das
        http://de.php.net/flush#57398
        oder oder oder, einfach mal lesen was da drunter steht!

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          serverseitig:
          Several servers, especially on Win32, will still buffer the output from your script until it terminates before transmitting the results to the browser.
          klient:
          Even the browser may buffer its input before displaying it. Netscape, for example, buffers text until it receives an end-of-line or the beginning of a tag, and it won't render tables until the </table> tag of the outermost table is seen.

          Some versions of Microsoft Internet Explorer will only start to display the page after they have received 256 bytes of output, so you may need to send extra whitespace before flushing to get those browsers to display the page.
          quelle: php.net/flush

          Kommentar


          • #6
            Danke für eure Kommentare, aber das ist mir doch alles bekannt,
            denn die entsprechende Seite im Manual hab ich natürlich rauf und runter gelesen bevor ich hier ne Frage stelle.

            Ich suche ja auch eine Möglichkeit irgendwie dem Browser zu sagen das die Seite fertig ist, quasi ne End of File Meldung schicken oder so.
            Signaturen sind Platzverschwendung!

            Kommentar


            • #7
              Original geschrieben von XAX
              Ich suche ja auch eine Möglichkeit irgendwie dem Browser zu sagen das die Seite fertig ist, quasi ne End of File Meldung schicken oder so.
              Die "Berechnungen" in einem seperaten Prozess starten.
              afaik kannst du nicht einfach die Connection aus php raus killen, zumindest ist bei den apache-spezifischen Funktionen nichts dabei und wo sonst sollte sich sowas wiederfinden?

              Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

              bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
              Wie man Fragen richtig stellt

              Kommentar

              Lädt...
              X