#22682 [Opn->Fbk]: Proplems with fread(), ftell() and fseek() and CRLF newlines

From: Date: Wed, 23 Apr 2003 10:00:26 +0000
Subject: #22682 [Opn->Fbk]: Proplems with fread(), ftell() and fseek() and CRLF newlines
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-38200@lists.php.net to get a copy of this message
ID: 22682 Updated by: sniper@php.net Reported By: fbeyer at clickhand dot de -Status: Open +Status: Feedback Bug Type: Filesystem function related Operating System: Windows XP PHP Version: 4CVS-2003-03-13 (stable) New Comment: Please try using this CVS snapshot: http://snaps.php.net/php4-STABLE-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-STABLE-latest.zip Previous Comments: ------------------------------------------------------------------------ [2003-03-13 11:41:40] fbeyer at clickhand dot de I have found this bug in 4.3.0, searched matching bug reports and they said the bug is fixed in the latest stable CVS snap. I have downloaded and installed today's latest version, the fix is mentioned in the news.txt, but the bug is still there. Here are my test files for a short reproducing script: file test.txt: (saved in dos format, ie. newlines are CRLF/\r\n): ------------------------------ This is a test file in win32 / dos format ie. lines end with CRLF resp. \r\n ------------------------------ file test.php ------------------------------ <?php $fp = fopen('test.txt', 'r'); $contents = fread($fp, 30); fseek($fp, ftell($fp)); $contents .= fread($fp, 30); echo $contents; echo "\n\n"; var_dump(strpos($contents, "\r")); ?> ------------------------------ Output: ------------------------------ This is a test file in win32 // dos format ie. lines end wit bool(false) ------------------------------ It can be seen that fseek() or ftell() don't work as expected: the '/' character is read twice. Furthermore, fread() doesn't return \r characters. I also have tested this for fgetc() - \r is not read. A strange thing is that this bug doesn't occurr in the newest php5/ze2 snapshot. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=22682&edit=1

« previous php.bugs (#38200) next »