#35859 [Bgs]: fread limited to 8K

From: Date: Sat, 31 Dec 2005 14:36:18 +0000
Subject: #35859 [Bgs]: fread limited to 8K
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-91305@lists.php.net to get a copy of this message
ID: 35859 User updated by: cpuidle at gmx dot de Reported By: cpuidle at gmx dot de Status: Bogus Bug Type: Filesystem function related Operating System: WinXP SP2 PHP Version: 5.1.1 New Comment: The documentation reads: > fread() reads up to length bytes from the file pointer referenced by handle. Reading stops when up to length bytes have been read, EOF (end of file) is reached, or (for network streams) when a packet becomes available, whichever comes first. Neither of the conditions is satisfied. The internal 8K limit is *not* documented? Previous Comments: ------------------------------------------------------------------------ [2005-12-31 15:32:09] cpuidle at gmx dot de Thanks. Could you verify that this behaviour has been changed between 5.0.5 and 5.1.1? Would it be worth to add to the documentation, that for local files 8K is an internal limit? ------------------------------------------------------------------------ [2005-12-31 15:27:51] sniper@php.net See comments in bug #30936 ------------------------------------------------------------------------ [2005-12-31 14:20:24] cpuidle at gmx dot de Description: ------------ I'm experiencing a very weird bug where fread is limited to 8K though the source file (ANSI) is bigger than 8K. I was not able to reproduce the bug standalone, only inside a complex application. This does not happen with PHP5.0.5, but with 5.1.1. Unfortunately the sample code does not reproduce the problem standalone, but demonstrates the effect. Reproduce code: --------------- function _read_file($filename) { if ( file_exists($filename) && ($fd = @fopen($filename, 'rb')) ) { $contents = ($size = filesize($filename)) ? fread($fd, $size) : ''; echo("_read_file($filename) \$size: $size strlen(\$contents): ".strlen($contents)."<br/>"); fclose($fd); } } _read_file('templates/elegant/\show.tpl'); Expected result: ---------------- Output: _read_file(templates/elegant/\show.tpl) $size: 9520 strlen($contents): 9520 Actual result: -------------- Output: _read_file(templates/elegant/\show.tpl) $size: 9520 strlen($contents): 8192 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=35859&edit=1

« previous php.bugs (#91305) next »