ID: 11855 Updated by: sniper Reported By: [EMAIL PROTECTED] Old Status: Open Status: Bogus Bug Type: Filesystem function related Operating System: Linux 2.2 PHP Version: 4.0.5 New Comment: Yes, fread() is binary safe, fgets() isn't. Not a bug. --Jani Previous Comments: ------------------------------------------------------------------------ [2001-07-03 10:12:27] [EMAIL PROTECTED] while reading chunks using fgets from a pdf-File, it occured that fgets seems to read data until a 0x0a occurs but returned the data until the first occurence of 0x00 only. Because of that, half of the data was lost. example Hello0x0d0x0a XYZ will be read an returned correctly, the data containing "Hello" and the filepointer on the XYZ He0x00llo0x0d0x0a XYZ will retrurn data containing "He" with the filepointer still on the XYZ my code: $fp=fopen($pdf_file,"r"); while (!feof($fp)) { $pdf_line="|".strtoupper(fgets($fp,4096)); $filepos+=strlen($pdf_line)-1; $i=0; while ($i=strpos($pdf_line,"Needle",$i)) { if ($i<4000) { $i+=strlen("Needle"); $retval[]=substr($pdf_line,$i,strlen("Needle")); } else { $i++; } } if (strlen($pdf_line)>4000) { fseek($fp,$filepos-100); $filepos-=100; } } fclose($fp); we solved the problem by using fread() instead of fgets(), but felt you still might be interested. ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=11855&edit=1 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]