|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #9024 fread can't read whole file
Submitted: 2001-01-31 05:19 UTC Modified: 2001-01-31 12:44 UTC
From: zionglau at yahoo dot com Assigned:
Status: Not a bug Package: Filesystem function related
PHP Version: 4.0.4pl1 OS: WinNT 4.0
Private report: No CVE-ID: None
 [2001-01-31 05:19 UTC] zionglau at yahoo dot com
i'm using the following code to read and output a file:

$fp = fopen("a_file_here", "r");
// retreive the file content
while (!feof($fp)){
	// retreive the file content
	$contents = fread($fp, 1024);
	// output the content
	echo ($contents);

These codes is work fine in older version(php3),
but now it cannot read the file completly.
For example the file have 1024 byte, it only can read the first 300 byte.
Also it work fine with the TEXT file. This problem only happen when i try to read a binary file(e.g. gif/jepg).
it seem to be stop reading when the file have a eof char data but it is not really End Of File.

Moreover, i'm using Apache and running module mode, but it will work fine when running cgi mode.


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2001-01-31 12:44 UTC]
You need to read the manual page for fopen().

where it says that in some braindead systems (like Windows)
you have to use 'b' in the mode string to be able 
to read/write binary files.

ie. like this:
fopen("the_file", "rb");


PHP Copyright © 2001-2022 The PHP Group
All rights reserved.
Last updated: Wed Aug 10 22:03:37 2022 UTC