flush()?

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

  • #16
    @swimming
    Es ist nicht nötig, Beiträge, die fast ein Jahr alt sind wieder auszugraben.
    Zuletzt geändert von XGremliN; 30.09.2003, 11:11.
    it's not a bug,
    it's a feature!

    Kommentar


    • #17
      Aber am Ende muss ich dann hier lesen, dass man nicht 50000 Beiträge zu einem Thema aufmacht.
      Da habe ich schon gesucht und etwas gefunden und wollte nur mal nachfragen.

      Kommentar


      • #18
        Hör nicht auf XGN(!), das war vollkommen richtig, was du hier gemacht hast. Das beweist, dass du dir die mühe gemacht hast zu suchen und dich mit dem thema beschäfftig hast. gib mir mal code usw.

        Kommentar


        • #19
          @Tobiaz
          Und wenn ich so was mache (alte Beiträge auskamen) werd ich hier dumm angemacht!
          Ach übrigens: ES HEISST XGremliN NICHT XGN
          Zuletzt geändert von XGremliN; 30.09.2003, 13:27.
          it's not a bug,
          it's a feature!

          Kommentar


          • #20
            das war absicht! Aber zeig mir mal bitte den Thread!

            Kommentar


            • #21
              Bitteschön. Hier isser.
              it's not a bug,
              it's a feature!

              Kommentar


              • #22
                @berni

                ich habe da mal einen code-schnipsel gefunden, vielleicht hilft der weiter

                guckst du hier

                gruss
                peter
                Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                Meine Seite

                Kommentar


                • #23
                  Also wie gesagt, ich habe eine while-Schleife und darin verschicke ich die Mails.
                  PHP-Code:
                  while ($r mysql_fetch_object($newsletter_recipients)) {
                      
                  mail($r->email$subject$message$header);
                      echo 
                  date('d.m.Y H:i:s'time())." - Newsletter versandt an: ".$r->email;
                      
                  flush();

                  Und da kommt keine einzelne Ausgabe sondern alles zusammen. Auch bei 500 verschickten Mails. Müsste da nicht zumindest der Puffer gefüllt sein?

                  Kommentar


                  • #24
                    1. nicht überall funktioniert das. (steht glaube ich auch im manual)
                    2. könnte es sein, dass der puffer da echt noch nicht ganz voll ist.

                    @XGN: Merkst du nen unterschied? du hast irgendwas auf eine uralten Beitrag geantwortet, was anscheined keinen mehr interessiert. swimming hatte aber ne weiterführende frage die sich auf das Thema bezieht.

                    Kommentar


                    • #25
                      Also im Manual steht das leider nicht. Aber jetzt weis ich ja, auf was ich achten muss.

                      Manual:
                      Unabhängig davon, wie PHP läuft (CGI oder WEB-Server), wird der gesamte Ausgabe-Puffer geleert. Dabei wird versucht den ganzen Inhalt an den Browser des Benutzers zu schicken.

                      Ich werde es mal mit ob_implicit_flush() versuchen, so wie es im Beispiel angegeben wurde. Danke dir...

                      Kommentar


                      • #26
                        @TBZ
                        Hast ja recht. Das war gestern nur kurz vorm Feierabend, da hatte ich geistig schon auf 25% Leistung zurückgedreht.

                        Sorry fals sich jemand dumm angemacht fühlte.
                        it's not a bug,
                        it's a feature!

                        Kommentar


                        • #27
                          @XGremliN: Ist schon ok. Hatte mich bloß ein wenig gewundert

                          @all: Habe es jetzt mit der Ausgabe von 300 Zeichen am Anfang versucht und auch noch mit ob_implicit_flush(); Es gibt keinerlei Ausgabe zwischendurch, sondern alles erst am Ende. Hängt das vielleicht auch an einer Servereinstellung?

                          Kommentar


                          • #28
                            linux oder windows?
                            php-version?

                            manche version hatten da nen klitzekleinen bug...
                            Ich denke, also bin ich. - Einige sind trotzdem...

                            Kommentar


                            • #29
                              Also auf dem Server liegt laut phpinfo() folgendes:

                              System: Linux server054 2.4.21 #2 SMP Sun Jun 29 12:23:54 CEST 2003 i686

                              PHP: PHP Version 4.3.3
                              Zuletzt geändert von swimming; 01.10.2003, 14:24.

                              Kommentar


                              • #30
                                ach wunderbar und ressourcenschonend.

                                Da klinke ich mich doch auch gleich ein in den Thread.
                                Also Apache/2.0.40 (Red Hat Linux), PHP Version 4.2.2 und MYsql 3.23.52

                                Ich hatte das Script vorher auf einem Apache2 Wamp System laufen, und da funktionierte es wunderbar. Wenn ich mich recht entsinne sollte Flush auf einem Linuxsystem im Gegensatz dazu schon ab 1.3 laufen?

                                Naja egal, auf ejden Fall bekomme ich auch erst die Ausgabe wenn das Script komplett durchgelaufen ist. Ich konnte bezüglich der httpd.conf auch keine Infos finden ob dort explizit etwas angegeben werden muss.

                                PHP-Code:
                                <?php

                                // Delay 1
                                function delay()

                                {

                                     
                                $start time();

                                     while (
                                $start == time())

                                     {

                                 

                                     }

                                }



                                ob_implicit_flush();

                                echo 
                                'loading';

                                for (
                                $i 0$i 10$i++, print "."delay())

                                {



                                }

                                //Delay 2

                                echo "                                                                                                                                                                                                                                                                                                                                                                                                                                       ";
                                  for (
                                $i=0;$i <10$i++) {
                                    echo 
                                "$i<br>\n";
                                    
                                flush ();
                                    
                                sleep (1);
                                  }
                                  





                                ?>
                                Grüße
                                cu DS

                                Kommentar

                                Lädt...
                                X