dieter: Probleme fread mit passendem code-schnipsel

Hallo,

folgendes Problem:

Versuche eine php-Seite einzulesen und in eine statische html-Seite umzuwandeln.

$srcurl = "http://sonstwas?var_x=$varYy";

$tempfilename = "tempindex.html";
                        $targetfilename = "$var_y.html";

@unlink($tempfilename);
                        $dynpage = fopen($srcurl, 'r');
                        if (!$dynpage)
                             {
                              echo("Kann $srcurl nicht laden.  ".
                                   "Aktualisierung der statischen Seite abgebrochen!</p>");
                                   exit();
                              }

$htmldata = fread($dynpage, 1024*1024);

fclose($dynpage);
                        $tempfile = fopen($tempfilename, 'w');
                        if (!$tempfile)
                             {
                             echo("<p>Kann temporäre Datei  ".
                                  "($tempfilename) nicht zum Schreiben öffnen.  ".
                                  "Aktualisierung der statischen Seite abgebrochen!</p>");
                                  exit();
                             }
                        fwrite($tempfile, $htmldata);
                        fclose($tempfile);
                        $ok = copy($tempfilename, "../sonstwo/$targetfilename");

unlink($tempfilename);

Problem: der Befehl fread tuts zwar, aber nur bis ca. 15000 Zeichen. Rest der Seite ist weg. PHP- Version ist 4.3.3

Woran könnten es liegen? Wisst Ihr einen vernünftigen workaround ?

thx,

dieter

  1. Hallo,

    http://de2.php.net/manual/en/function.fread.php

    gruss

    --
    no strict;
    no warnings;
    Über eine Rückmeldung freut sich später jeder, der das gleiche Problem hat und im Archiv nach einer Lösung sucht.
    1. Hallo,

      http://de2.php.net/manual/en/function.fread.php

      gruss

      Danke!

      funktioniert jetzt : )

  2. Hallo dieter,

    Bleib bitte in deinem Thread ->[pref:t=79676&m=461721]

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
  3. scheinbar ließt (php)fread unter bestimmten vorraussetzungen (auch unter linux) nur bis zum ersten "häppchen" an datensatz der kommt.

    wenn man das ganze dann häppchenweise einliest klappt es. danke nochmal an Eternius.

    Hallo,

    folgendes Problem:

    Versuche eine php-Seite einzulesen und in eine statische html-Seite umzuwandeln.

    $srcurl = "http://sonstwas?var_x=$varYy";

    $tempfilename = "tempindex.html";
                            $targetfilename = "$var_y.html";

    @unlink($tempfilename);
                            $dynpage = fopen($srcurl, 'r');
                            if (!$dynpage)
                                 {
                                  echo("Kann $srcurl nicht laden.  ".
                                       "Aktualisierung der statischen Seite abgebrochen!</p>");
                                       exit();
                                  }

    $htmldata = fread($dynpage, 1024*1024);

    fclose($dynpage);
                            $tempfile = fopen($tempfilename, 'w');
                            if (!$tempfile)
                                 {
                                 echo("<p>Kann temporäre Datei  ".
                                      "($tempfilename) nicht zum Schreiben öffnen.  ".
                                      "Aktualisierung der statischen Seite abgebrochen!</p>");
                                      exit();
                                 }
                            fwrite($tempfile, $htmldata);
                            fclose($tempfile);
                            $ok = copy($tempfilename, "../sonstwo/$targetfilename");

    unlink($tempfilename);

    Problem: der Befehl fread tuts zwar, aber nur bis ca. 15000 Zeichen. Rest der Seite ist weg. PHP- Version ist 4.3.3

    Woran könnten es liegen? Wisst Ihr einen vernünftigen workaround ?

    thx,

    dieter