Mailinglisten-Archive |
Aloha,
> Von: Jochen Metzger[SMTP:j.metzger_(at)_steptown.com]
>
> Kurz und knapp:
> Warum wird bei folgendem Code nicht 3 x der Inhalt angezeigt,
> sondern nur einmal? Kann ich eine geöffnete Verbindung nicht
> wieder benutzen?
>
> <?php
> for ($i=0;$i<=3;$i++){
> print "<br>".$i;
>
> if(!isset($mysocket))
> $mysocket = fsockopen("www.google.de", 80);
---------^ Hast du hier mal mit echo "Blubber" ausprobiert,
ob der gleiche Socket nochmal benutzt wird?
> fputs($mysocket,"GET / HTTP/1.0\n\n");
> while(!feof($mysocket)) {
> echo fgets($mysocket,128);
> }
> }
> fclose($mysocket);
> ?>
>
Falls du immer mit dem gleichen Socket arbeitest, dann kann
das nur einmal funktionieren. Du liest mit der while-Schleife
über die Datei, und bei EOF bleibt dann der Zeiger auf die
aktuelle Stelle der Datei stehen. Beim nächsten Lesen der
Datei bist du dann aber schon bei EOF ==> kommt nix mehr.
Du musst vor dem 2., 3., ... Lesen aus der Datei den Zeiger
auf den Anfang setzen. Das geht mit rewind() oder auch fseek().
Grüße, Mathias
php::bar PHP Wiki - Listenarchive