ID: 48596
Comment by: majkl578 at gmail dot com
Reported By: php_nospam at ramihyn dot sytes dot net
Status: Open
Bug Type: Streams related
Operating System: Windows XP SP3
PHP Version: 5.3.0RC3
New Comment:
Sorry, not same, I have 5.3.0RC4
Previous Comments:
------------------------------------------------------------------------
[2009-06-20 21:56:24] majkl578 at gmail dot com
Same problem as in first post here (code tested).
OS: Debian Lenny (unstable)
Same PHP version.
------------------------------------------------------------------------
[2009-06-18 17:52:59] php_nospam at ramihyn dot sytes dot net
If using the bzip2.compress or zlib.deflate filters, ftell() returns
the same value as before using the filter to write to the stream:
<?php
$s = "The quick brown fox jumps over the lazy dog.";
$fp = fopen("test.bin","w");
fwrite($fp,$s);
var_dump(ftell($fp)); // int(44)
$filter =
stream_filter_append($fp,"zlib.deflate",STREAM_FILTER_WRITE,9);
fwrite($fp,$s);
stream_filter_remove($filter);
var_dump(ftell($fp)); // int(44)
fclose($fp);
?>
------------------------------------------------------------------------
[2009-06-18 14:54:29] php_nospam at ramihyn dot sytes dot net
Also there seems to be a problem with other filters: the below example
hangs at fread(), if the script rewind()s the stream.
If closing the file and opening a new file handle, everyhing works as
expected.
<?php
$str = "The quick brown fox jumps over the lazy dog.";
$fp = fopen("test.bin","w");
$bz_filter = stream_filter_append($fp,"bzip2.compress",9);
fwrite($fp,$str,strlen($str));
stream_filter_remove($bz_filter);
#fclose($fp);
#fopen($fp,"test.bin","r+");
rewind($fp);
$bz_filter = stream_filter_append($fp,"bzip2.decompress");
$str2 = fread($fp,strlen($str));
stream_filter_remove($bz_filter);
fclose($fp);
var_dump($str2);
?>
------------------------------------------------------------------------
[2009-06-18 14:49:33] php_nospam at ramihyn dot sytes dot net
Description:
------------
The example provided for stream_filter_remove() does not work as
expected.
Reproduce code:
---------------
<?php
$fp = fopen("test.txt", "w");
$rot13_filter = stream_filter_append($fp, "string.rot13",
STREAM_FILTER_WRITE);
fwrite($fp, "This is ");
stream_filter_remove($rot13_filter);
fwrite($fp, "a test\n");
rewind($fp);
fpassthru($fp);
fclose($fp);
?>
Expected result:
----------------
Guvf vf a test
Actual result:
--------------
(no output)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=48596&edit=1