Hi,
I'm developing a custom stream wrapper and I've found this bug
implementing the stream_seek() method.
My php version:
PHP 5.2.8 (cli) (built: Dec 17 2008 00:54:27)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
with Zend Extension Manager v1.0.11, Copyright (c) 2003-2006, by
Zend Technologies
with Zend Optimizer v3.2.0, Copyright (c) 1998-2006, by Zend
Technologies
with Zend Debugger v5.2.2, Copyright (c) 1999-2006, by Zend Technologies
I've attached a simple script to reproduce the bug. It's a modified
version of the example stream wrapper at
http://www.php.net/manual/en/stream.streamwrapper.example-1.php.
Expected result should be:
whence=0
whence=1
whence=0
line1
line2
line3
but it is:
whence=0
whence=0
whence=0
line1
line2
line3
It seems that the SEEK_CUR
parameter is always ignored and the whence
value passed to my wrapper is SEEK_SET.
Using SEEK_END
works as expected.
Regards,
Davide Romanini
Hi,
My php version:
PHP 5.2.8 (cli) (built: Dec 17 2008 00:54:27)
Please use a recent version of PHP.
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
with Zend Extension Manager v1.0.11, Copyright (c) 2003-2006, by
Zend Technologies
with Zend Optimizer v3.2.0, Copyright (c) 1998-2006, by Zend
Technologies
with Zend Debugger v5.2.2, Copyright (c) 1999-2006, by Zend Technologies
Please disable third party modules before reporting any issues to us.
I've attached a simple script to reproduce the bug. It's a modified
version of the example stream wrapper at
http://www.php.net/manual/en/stream.streamwrapper.example-1.php.
[...]
It seems that theSEEK_CUR
parameter is always ignored and the whence
value passed to my wrapper is SEEK_SET.
I think (didn't verify) that PHP keeps track of the position and
rewrites CUR to SET accordingly, but as said: Didn't verify.
johannes
Il Wed, 04 Nov 2009 12:11:40 +0100, Johannes Schlüter ha scritto:
Hi,
My php version:
PHP 5.2.8 (cli) (built: Dec 17 2008 00:54:27)Please use a recent version of PHP.
Copyright (c) 1997-2008 The PHP Group Zend Engine v2.2.0, Copyright (c)
1998-2008 Zend Technologies
with Zend Extension Manager v1.0.11, Copyright (c) 2003-2006, by
Zend Technologies
with Zend Optimizer v3.2.0, Copyright (c) 1998-2006, by Zend
Technologies
with Zend Debugger v5.2.2, Copyright (c) 1999-2006, by Zend
TechnologiesPlease disable third party modules before reporting any issues to us.
I'll take time to try the script on php 5.2.11. I tried also on php 5.2.6
without zend extensions without success. If someone on the list could try
it on a php 5.2.11 sandbox it is very welcome :-)
I've attached a simple script to reproduce the bug. It's a modified
version of the example stream wrapper at
http://www.php.net/manual/en/stream.streamwrapper.example-1.php.
[...]
It seems that theSEEK_CUR
parameter is always ignored and the whence
value passed to my wrapper is SEEK_SET.I think (didn't verify) that PHP keeps track of the position and
rewrites CUR to SET accordingly, but as said: Didn't verify.
Well, and why the hell php should do that?? It is a bug to me.
Regards,
Davide Romanini