#3515 [Opn]: fread() just read a few bytes
| From: | jaenecke@php.net | Date: | Fri, 01 Nov 2002 12:09:33 +0000 |
| Subject: | #3515 [Opn]: fread() just read a few bytes | ||
| References: | 1 | Groups: | php.doc |
| Request: | Send a blank email to phpdoc+get-969349389@lists.php.net to get a copy of this message | ||
ID: 3515
Updated by: jaenecke@php.net
Reported By: bjarne.ingelsson@enator.se
Status: Open
Bug Type: Documentation problem
Operating System: WinNT4 SP6
PHP Version: 4
Assigned To: hholzgra
New Comment:
As explained in the documentation the mode for fopen() should contain a
'b'
when accessing binary files on windows systems
Previous Comments:
------------------------------------------------------------------------
[2002-10-01 15:06:55] hholzgra@php.net
documentation should tell that fread may return early due to signal or
other cause of interrupt, should give example using feof() ...
------------------------------------------------------------------------
[2000-02-17 09:15:02] bjarne.ingelsson@enator.se
// PHP4b3 problem!
// This version is not available in the dropdown...
fread() doesn't return the correct number of bytes in Win32
environment.
For some reason it just reads the first 33 bytes (in my example,
depends on the file to be read).
$sourcefile = "./aniclick.gif";
$fd = fopen($sourcefile, "r");
$contents = fread($fd, filesize($sourcefile));
$encoded = chunk_split(base64_encode($contents));
fclose($fd);
echo "FileSize: ". filesize($sourcefile)."<BR>
Read: ".strlen($contents). "<BR>
Encoded: ".strlen($encoded). "<BR>
Ratio: ". number_format((strlen($encoded) / strlen($contents)), 2).
"<BR>";
The code above give the following result:
FileSize: 19910
Read: 33
Encoded: 46
Ratio: 1.39
/Bjarne
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=3515&edit=1