Moin!
Es werden nicht soviele Nutz-Zeichen gelesen, wie Du in Auftrag gibst, sondern ein oder zwei weniger.
Das steht sogar im Manual.
Das Zeilenende-Zeichen rechne ich hier nicht den Nutzzeichen zu.Und auch ohne wird nur ein Zeichen weniger gelesen, als beauftragt:
<?php ### fread.php ###
define ('EL',"<br />\r\n");
$fh = fopen (__FILE__,'rb');
$content = fread($fh, 0);$content = fgets($fh,10);
echo "Länge des Content: ". strlen($content) . EL;fclose($fh);
?>
Ergebnis bei mir (Kommandozeile):
Warning: fread(): Length parameter must be greater than 0 in /home/sven/test/fread.php on line 6
Länge des Content: 9<br />
Wo ist da das Problem?
fread() akzeptiert (mit sinnvoller Fehlermeldung zurückgewiesen) nicht 0 als Wert der Anzahl zu lesender Bytes.
fgets() liest maximal (Param-1) Bytes aus der Quelle aus - dokumentiert im Handbuch.
- Sven Rautenberg
"Love your nation - respect the others."