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 02:36:52 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