wuscheck: Befehl fread zeigt nicht kompletten Output an

Hi,

ich möchte eine Tabelle auf einer Homepage auslesen. Ich verwende dafür u.a. folgenden Code:

$fd = fopen($theDomain.$page, "r");
$value = "";
while(!feof($fd)){ $value .= fread($fd,4096); }
fclose($fd);

danach folgen regexp und dann der Output.

Allerdings bricht der Output bei ca. 1/3 der Tabelle ab. Liegt das an der Länge 4096 im fread-Befehl? Eine grössere Zahl hilft an dieser Stelle wenig. Wie bekomme ich den ganzen output zu sehen?

Danke für Eure Hilfe!

wuscheck

  1. Hallo,

    ich kann Dir jetzt auf die Schnelle nicht sagen, was genau bei Deinem Script falsch läuft, aber ich selbst benutze zum Einlesen von Daten aus einer Textdatei immer file():

    $content = implode("", file($file));

    Da brauchst Du auch keinen Ressource-Handle zu öffnen und zu schließen.

    Probier's mal.

    Ciao,
    Andreas

    1. Hallo Andreas,

      ich kann Dir jetzt auf die Schnelle nicht sagen, was genau bei Deinem Script falsch läuft, aber ich selbst benutze zum Einlesen von Daten aus einer Textdatei immer file():
      $content = implode("", file($file));

      und warum nicht file_get_contents()?

      Grüße aus Nürnberg
      Tobias

      1. und warum nicht file_get_contents()?

        Grüße aus Nürnberg
        Tobias

        Oder so...
        ;)

        Andreas

        1. Hi,

          Oder so...

          Oder readfile(), wenn man zu <4.3 kompatibel bleiben möchte. ;-)

          Gruß, Cybaer

          --
          Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
          1. Hallo Cybaer,

            Oder readfile(), wenn man zu <4.3 kompatibel bleiben möchte. ;-)

            readfile() schreibt den Inhalt der Datei aber direkt in den Ausgabepuffer - wenn mal also die Daten der Datei verarbeiten wollte, müsste man mit der Ausgabesteuerung den Inhalt "abfangen".

            Grüße aus Nürnberg
            Tobias

  2. Hi,

    danach folgen regexp und dann der Output.

    ^^^^^^
    ohne deinen weiteren code zu kennen vermute ich, daß es an den regexp liegen könnte. Was genau macht denn dein regexp? Ist der evtl. gierig?

    Grüsse
    Frankie