Mailinglisten-Archive |
Hallo Leute! Das Script unten von Martin Ramsch läuft unter php3 einwandfrei, aber unter php4 wird das ganze erst angezeigt, wenn das Script vollständig durchgelaufen ist, kann mir jemand erklären, warum? Ich würde das ganze auch gerne unter php 4.0.0 nutzen! Merci Jürgen Schuch -- Script <?php /* Preliminary measures: */ $selfphp = ereg_replace( "^.*/", "", $PHP_SELF); $selftxt = ereg_replace( "\.php3$", ".phps", $selfphp); $version = "PHP " . phpVersion(); $sek = 4; $num = 3; $TMP = 'some_random_string_which_does_not_turn_up_in_your_sent_data'; Header( "Content-type: multipart/x-mixed-replace;boundary=$TMP"); // Dieser Content-Type ist der Knackpunkt der Sache. // Nicht alle Browser verstehen das ... /* MACKEN GROSSES SCHLEIFE FUR DEMONSTRIEREN DIE PUSH */ for($i=1; $i<=$num; $i++): // Ab hier kommen die eigentlichen Ausgabedaten. // Anfang dieses Teils der Ausgabe markieren. // (Die zwei Minuszeichen am Anfang müssen sein.) echo "--$TMP\n"; // Jetzt der HTTP-Header für diesen Teil der Ausgabe. echo "Content-Type: text/html\n"; echo "\n"; ?>Martin Ramsch test page: Server Push using PHP3 Interested in the PHP3 source of this page?
Used version of PHP is: .Server Push using PHP3
Das ist die Version dieser Seite, ausgegeben um 07:24:34 Uhr lokaler Zeit.Jetzt warte ich Sekunden ...
<?php // Dafür sorgen, daß der Puffer geleert wird. Flush(); // Ein bißchen warten, damit man jeden Teil auch lesen kann. sleep($sek); endfor; /* HABEN FERTIG MIT GROSSES SCHLEIFE */ // So, jetzt noch ein letzter Teil zum Abschluß. echo "--$TMP\n"; echo "Content-Type: text/html\n"; echo "\n"; ?>Martin Ramsch test page: Server Push using PHP3 - last part Interested in the PHP3 source of this page?
Used version of PHP is: .Server Push using PHP3 - last part
So, das war's. Leider kein Schlußfeuerwerk, sorry. ;-)Interessant wär' jetzt höchstens noch (neben dem PHP-Source, siehe Link am Anfang), wie der konkrete Datenstrom vom Webserver zum Client aussieht, der da eben erzeugt wurde. Voilá, einfach den Link links wählen! <?php // Abschluß der ganzen Pusherei markieren; '--' auch am Ende! echo "--$TMP--\n"; // Fertig. ?>
php::bar PHP Wiki - Listenarchive