From: hostmaster at uuism dot net Operating system: Fedora Core 4 PHP version: 5.2.6 PHP Bug Type: Directory function related Bug description: closedir DOES work for file resource
Description: ------------ When I run ext/standard/tests/dir/closedir_variation3.phpt with PHP 5.2.6, the closedir() function works with a file resource. This test script expects it not to work, so the test fails. I'm see this kind of test failure in a number of cases. Is there some kind of configuration option for allowing php with sloppy syntax? Thanks. Jim PS. This may the same issue as Bug #44246: closedir() accepts a file resource opened by fopen() Reproduce code: --------------- <?php /* Prototype : void closedir([resource $dir_handle]) * Description: Close directory connection identified by the dir_handle * Source code: ext/standard/dir.c * Alias to functions: close */ /* * Create a file pointer using fopen() then try to close it using closedir() */ echo "*** Testing closedir() : usage variations ***\n"; echo "\n-- Open a file using fopen() --\n"; var_dump($fp = fopen(__FILE__, 'r')); echo "\n-- Try to close the file pointer using closedir() --\n"; var_dump(closedir($fp)); echo "\n-- Check file pointer: --\n"; var_dump($fp); if(is_resource($fp)) { fclose($fp); } ?> Expected result: ---------------- *** Testing closedir() : usage variations *** -- Open a file using fopen() -- resource(%d) of type (stream) -- Try to close the file pointer using closedir() -- Warning: closedir(): %d is not a valid Directory resource in %s on line %d bool(false) -- Check file pointer: -- resource(%d) of type (stream) Actual result: -------------- *** Testing closedir() : usage variations *** -- Open a file using fopen() -- resource(5) of type (stream) -- Try to close the file pointer using closedir() -- NULL -- Check file pointer: -- resource(5) of type (Unknown) -- Edit bug report at http://bugs.php.net/?id=46443&edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=46443&r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=46443&r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=46443&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=46443&r=fixedcvs Fixed in CVS and need be documented: http://bugs.php.net/fix.php?id=46443&r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=46443&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=46443&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=46443&r=needscript Try newer version: http://bugs.php.net/fix.php?id=46443&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=46443&r=support Expected behavior: http://bugs.php.net/fix.php?id=46443&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=46443&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=46443&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=46443&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=46443&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=46443&r=dst IIS Stability: http://bugs.php.net/fix.php?id=46443&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=46443&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=46443&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=46443&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=46443&r=mysqlcfg