phpbar.de logo

Mailinglisten-Archive

[php] fgets Frage

[php] fgets Frage

Ulf Wendel ulf_(at)_redsys.de
Mon, 10 Jan 2000 21:53:33 +0000


Andre Lohan wrote:
> wenn ich mittels fgets Daten aus einer Internet Verbindung hole und es
> sich dabei um einen endlosen Stream handelt (z. B. Chat), bleibt der
> Script bei fgets stehen, sobald keine Daten zum Abholen anstehen. Kann
> ich das vorher ermitteln, ob Daten zum Abholen bereitstehen ? Ich lese

Hast Du die Anmerkungen zu
http://www.php.net/manual/function.filesize.php3 gesehen? Hier findet
sich ein Beispiel zur Ermittlung der Größe einer Datei auf einem
Remote-Server basierend auf einem HTTP-Request:

> telnet localhost:80

HEAD /chat.html HTTP 1.1

[...]
Content-Length: 121 Bytes

(Den HTTP-Request kannst Du mit
http://www.php.net/manual/function.fsockopen.php3 absetzen.)

Solltest Du keinen Request senden wollen, könnte ein Workaround in einer
Endlosschleife bestehen:

$stop = false;
while (!$stop) {

 if (!$daten = _(at)_fgets($fh, 4096)) {
  // Es gibt keine neuen Daten, schlafen und erneut versuchen...
  sleep(10);
  continue;
 }
 
 // Neue Daten verarbeiten...
}

Ulf


php::bar PHP Wiki   -   Listenarchive