Mailinglisten-Archive |
Hi Gerd,
> > $str = "";
> > $fp = fopen('http://www.test.de/myfile.php', 'r');
>
> $ttllen = 0;
>
> > while (!feof($fp)) {
> > $str .= fread($fp, 1024);
>
> $ttllen+=strlen($str);
>
> > }
> > fclose($fp);
> > $length = strlen($str);
> >
>
> ermittelt die Länge der letzten Zeile, $ttllen sollte die Anzahl der
> Byte im File zurückgeben.
>
Nuja, das Ermitteln der Bytes erledigt meine Lösung mit
$length = strlen($str); ja bereits...
Und Deine Lösung ist übrigens fehlerhaft ;)
In dem Code oben würde das
$ttllen += strlen($str);
immer zu einer zu großen Zahl führen.
Meine Lösung liest ja zuvor den gesamten Output in einen String.
Okay das ist ziemlich resourcenlastig und daher sicher nicht optimal,
deshalb: das Ganze einfach wie folgt lösen:
$size = 0;
$fp = fopen('http://www.test.de/myfile.php', 'r');
while (!feof($fp)) {
$str = fread($fp, 1024);
$size += strlen($str);
}
fclose($fp);
Die Länge steht anschließend in Bytes in der Variablen $size
Das spart ziemlich viel Arbeit für PHP und *ein wenig* Speicher.
Gruß
Dennis
php::bar PHP Wiki - Listenarchive