ID: 29023 Updated by: [EMAIL PROTECTED] Reported By: benjcarson at digitaljunkies dot ca -Status: Open +Status: Assigned Bug Type: Filesystem function related Operating System: Linux PHP Version: 5CVS-2004-07-05 (dev) -Assigned To: +Assigned To: wez New Comment:
Assigning to Wez... although I'd say that this is *correct* behavior, it shouldn't cause a BC break. Previous Comments: ------------------------------------------------------------------------ [2004-07-05 22:28:48] benjcarson at digitaljunkies dot ca Description: ------------ In the latest cvs snap, fread() does not read more than 8192 bytes from a local file, despite specifying a larger read size as the second parameter. If the fread() call is wrapped in a while (!feof) loop the file can be read correctly, but only 8k at a time. This contradicts the first example in the manual (http://www.php.net/manual/en/function.fread.php) and is a BC break. As far as I can tell the change was made sometime between the 2004-06-22 snap and the 2004-07-04 snap. I've tested both using my php.ini file and without (i.e. using the built-in defaults). I configured using the following command: ./configure --prefix=/usr --with-apxs=/usr/bin/apxs \ --enable-memory-limit \ --with-layout-GNU\ --enable-bcmath \ --enable-calendar \ --with-curl=/usr \ --enable-exif \ --enable-ftp \ --enable-mbstring \ --enable-shmop \ --enable-sockets \ --enable-sysvsem \ --enable-sysvshm \ --enable-wddx \ --with-bz2 \ --with-config-file-path=/etc/php5/apache \ --with-gd=/usr \ --with-freetype-dir=shared,/usr \ --with-jpeg-dir=/usr \ --with-png-dir=shared,/usr \ --with-ttf=shared,/usr \ --with-xpm-dir=shared,/usr/X11R6 \ --with-gettext \ --with-kerberos=/usr \ --with-ldap=shared,/usr \ --with-mhash=shared,/usr \ --with-mm \ --with-ncurses=/usr \ --with-openssl=/usr \ --with-pcre-regex=/usr \ --with-pear \ --with-pgsql \ --with-pspell=/usr \ --with-zlib \ --with-zlib-dir=/usr Reproduce code: --------------- #!/usr/bin/php <?php $filename = "/some/largish/local/file"; $fd = fopen($filename, 'r'); $contents = fread($fd, filesize($filename)); echo strlen($contents) ."\n"; fclose($fd); ?> Expected result: ---------------- (the file's actual size, in bytes) Actual result: -------------- 8192 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=29023&edit=1