Edit report at https://bugs.php.net/bug.php?id=62004&edit=1
ID: 62004
Comment by: carloschilazo at gmail dot com
Reported by: don dot binda at verizon dot net
Summary: SplFileObject: fgets after seek returns wrong line
Status: Open
Type: Bug
Package: SPL related
Operating System: Windows Server 2003
PHP Version: 5.4.0
Block user comment: N
Private report: N
New Comment:
Based on documentation, it says that fgets Returns:
Returns a string containing the NEXT line from the file
wouldn't that explain?
Previous Comments:
------------------------------------------------------------------------
[2012-05-17 14:35:16] don dot binda at verizon dot net
Fixing version
------------------------------------------------------------------------
[2012-05-11 13:59:04] don dot binda at verizon dot net
Description:
------------
This is occurring in 5.4.0, although 5.4.x isn't an option under version.
Appears to be related to (or same as) 46569:
Calling fgets() after seek() to any non-zero line returns one line later than
expected. seek(0) works fine and calling current() instead of fgets() also
works correctly.
Test script:
---------------
Source file (temp.txt):
Line 1
Line 2
Line 3
Line 4
Code:
$f = new SplFileObject('temp.txt');
$f->seek(0);
echo $f->fgets();
$f->seek(1);
echo $f->fgets();
$f->seek(2);
echo $f->fgets();
Expected result:
----------------
Line 1
Line 2
Line 3
Actual result:
--------------
Line 1
Line 3
Line 4
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=62004&edit=1