phpbar.de logo

Mailinglisten-Archive

[php] "tail -f" unter php3 nachbilden

[php] "tail -f" unter php3 nachbilden

Kristian =?iso-8859-1?Q?K=F6hntopp?= kk_(at)_netuse.de
Fri, 12 Nov 1999 10:30:37 +0100


Peter Blancke wrote:
> Hier laeuft LAMP unter der SuSE 6.1.

Mit mod_php, nicht jedoch mit CGI PHP und mit einem hinreichend
neuen Apache kann man das folgende realisieren:

<?php
  for($i=1; $i<100; $i++) {
    printf("Hallo, $i<br>\n");
    flush();
    sleep(2);
  }
?>

Ich habe das mit Suse 6.2, Apache 1.3.6 und mod_php 3.0.11 ausprobiert
und es funktioniert gut.

Man kann jetzt also alle n Sekunden die filemtime() einer Datei
prüfen. Ändert sich die filemtime() der Datei, öffnet man die Datei
zum Lesen, setzt sich mit fseek() auf das alte Ende der Datei
(dazu muß man sich die alte filesize() gemerkt haben) und liest
das Stück zwischen alter und neuer filesize() mit fread() ein.
Dies kann man dann mit echo drucken und ein flush() hinterher
schicken.

Alternativ überlegt man sich eine Lösung mit flush und einem mime-multipart.

Kristian

-- 
Kristian Köhntopp, NetUSE Kommunikationstechnologie GmbH
Siemenswall, D-24107 Kiel, Germany, +49 431 386 436 00
Using PHP3? See our web development library at
http://phplib.netuse.de/ (We have moved! Update your bookmarks!)


php::bar PHP Wiki   -   Listenarchive