Michael: fsockopen() Problem

Hallo,

der schnellste Weg den ich kenne den Inhalt einer URL
an eine Variable zu übergen ist:

$code = implode('', file($URL));

Da aber sein kann, dass die URL nicht erreichbar ist
läuft sich das Script mit implode dann bis zum PHP timeout zu tode :-(

Deshalb möchte ich fsockopen() benutzen da ich dort die Laufzeit mit
$errstr beschränken kann.
--
$code = @fsockopen($URL, 80, $errno, $errstr, 1);
if($check) {echo"timeout";exit;}
--

Was ist aber nun die schnellste Variante mit fsockopen
um ohne Schnickschnack, den Inhalt einer URL an eine
Variable zu übergeben.

Danke für eure Vorschläge

Gruß Michael

  1. Hello,

    beim Verfahren mit fsockopen() musst Du allerdings zwei Timeout-Parameter beachten.
    Den zum Verbindungsaufbau (Gewährung eines Sockets)
    Den bei der Leseanforderung (Antwortzeit von der Anforderung bis zum Eintreffen des Paketes)

    Und dann solltest Du in einer Schleife Pakete von z.B. 128 Bytes anfordern

    $filecontents = '';
      while(($packet = fread($fh, 128) !== false) and !feof($fh))
      {
        $filecontents .= $packet;
      }

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau