Bug #70819 [NEW]: bzopen/fopen is not rewinded when accessing a file for the second time
| From: | mail at jerrygrey dot me | Date: | Fri, 30 Oct 2015 06:20:17 +0000 |
| Subject: | Bug #70819 [NEW]: bzopen/fopen is not rewinded when accessing a file for the second time | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-196905@lists.php.net to get a copy of this message | ||
From: mail at jerrygrey dot me
Operating system: Irrelevant
PHP version: Irrelevant
Package: Streams related
Bug Type: Bug
Bug description:bzopen/fopen is not rewinded when accessing a file for the second time
Description:
------------
This looks like an old bug (from 12 years ago) first appearing here:
http://php.net/manual/en/function.fflush.php#28887
It has reappeared via
https://github.com/php/php-src/pull/1553
The function bzopen should automatically rewind the file pointer as per
fopen() documentation for "r" mode: "...place the file pointer at the
beginning of the file", but it doesn't. If this is by design, it should
be included in the documentation. Since fopen is the base for bzopen, it
might have the same issue too.
Test script:
---------------
<?php
$file = __DIR__ . DIRECTORY_SEPARATOR . 'bzflush_test.txt.bz2';
$text = "This is a test string.";
$bz1 = bzopen($file, 'w');
bzwrite($bz1, $text);
var_dump(bzflush($bz1));
$bz2 = bzopen($file, 'r');
var_dump(bzread($bz2));
bzclose($bz2);
bzclose($bz1);
?>
Expected result:
----------------
bool(true)
string(22) "This is a test string."
Actual result:
--------------
bool(true)
string(0) ""
--
Edit bug report at https://bugs.php.net/bug.php?id=70819&edit=1
--
Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=70819&r=trysnapshot54
Try a snapshot (PHP 5.5): https://bugs.php.net/fix.php?id=70819&r=trysnapshot55
Try a snapshot (trunk): https://bugs.php.net/fix.php?id=70819&r=trysnapshottrunk
Fixed in SVN: https://bugs.php.net/fix.php?id=70819&r=fixed
Fixed in release: https://bugs.php.net/fix.php?id=70819&r=alreadyfixed
Need backtrace: https://bugs.php.net/fix.php?id=70819&r=needtrace
Need Reproduce Script: https://bugs.php.net/fix.php?id=70819&r=needscript
Try newer version: https://bugs.php.net/fix.php?id=70819&r=oldversion
Not developer issue: https://bugs.php.net/fix.php?id=70819&r=support
Expected behavior: https://bugs.php.net/fix.php?id=70819&r=notwrong
Not enough info: https://bugs.php.net/fix.php?id=70819&r=notenoughinfo
Submitted twice: https://bugs.php.net/fix.php?id=70819&r=submittedtwice
register_globals: https://bugs.php.net/fix.php?id=70819&r=globals
PHP 4 support discontinued: https://bugs.php.net/fix.php?id=70819&r=php4
Daylight Savings: https://bugs.php.net/fix.php?id=70819&r=dst
IIS Stability: https://bugs.php.net/fix.php?id=70819&r=isapi
Install GNU Sed: https://bugs.php.net/fix.php?id=70819&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=70819&r=float
No Zend Extensions: https://bugs.php.net/fix.php?id=70819&r=nozend
MySQL Configuration Error: https://bugs.php.net/fix.php?id=70819&r=mysqlcfg