From: ryosuke_i_628 at yahoo dot co dot jp Operating system: Windows PHP version: 5.4.17 Package: SPL related Bug Type: Bug Bug description:On empty files, SplFileObject::fgets() returns not FALSE but EMPTY STRING
Description: ------------ I don't know whether this is a bug or a documentation problem. In SplFileObject::fgets documentation, Example is shown as following: <?php $file = new SplFileObject("file.txt"); while (!$file->eof()) { echo $file->fgets(); } ?> But this should be: <?php $file = new SplFileObject("file.txt"); while (($buffer = $file->fgets("file.txt")) !== "") { echo $buffer; } ?> I show you the test script. Test script: --------------- <?php $arr = array(); $file = new SplFileObject("empty_file.txt"); while (!$file->eof()) { $arr[] = $file->fgets(); } var_dump($arr); Expected result: ---------------- array(1) { [0]=> bool(false) } # Actually, this substitution should not occurr. Actual result: -------------- array(1) { [0]=> string(0) "" } # I think this can give us lots confusion. -- Edit bug report at https://bugs.php.net/bug.php?id=65238&edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=65238&r=trysnapshot54 Try a snapshot (PHP 5.3): https://bugs.php.net/fix.php?id=65238&r=trysnapshot53 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=65238&r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=65238&r=fixed Fixed in release: https://bugs.php.net/fix.php?id=65238&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=65238&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=65238&r=needscript Try newer version: https://bugs.php.net/fix.php?id=65238&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=65238&r=support Expected behavior: https://bugs.php.net/fix.php?id=65238&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=65238&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=65238&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=65238&r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=65238&r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=65238&r=dst IIS Stability: https://bugs.php.net/fix.php?id=65238&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=65238&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=65238&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=65238&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=65238&r=mysqlcfg