From: mahesh dot vemula at in dot ibm dot com Operating system: RHEL4 PHP version: 5CVS-2007-07-26 (CVS) PHP Bug Type: Scripting Engine problem Bug description: copy() does unexpected creation of file for dir as src & returns FALSE as expec
Description: ------------ While trying to create a copy of an existing dir by copy() function, it creates a file which is not expected but returns FALSE as expected. Even for an existing file as second argument, PHP doesnt throw any warning message. It happens against Linux, and works fine against Windows. Reproduce code: --------------- <?php mkdir("copy"); mkdir("copy1"); fclose( fopen("copy.tmp", "w") ); var_dump( copy("copy", "copy1") ); //copying dir to existing dir, throws a Warning msg as expected var_dump( copy("copy.tmp", "copy") ); //copying file to a dir, throws a warning msg as expected var_dump( copy("copy", "copy_copy") ); //copying dir to non-existing dest, copy returns FALSE but creates a file & no warning msg var_dump( copy("copy", "copy_dir.tmp") ); //copying dir to non-existing file, copy returns FALSE but creates a file & no warning msg var_dump( copy("copy", "copy.tmp") ); //copying dir to an existing file, copy returns FALSE but no warning msg unlink("copy_copy"); unlink("copy_dir.tmp"); unlink("copy.tmp"); rmdir("copy1"); rmdir("copy"); ?> Expected result: ---------------- Creation of file is not expected and a required warning messages are expected. Actual result: -------------- Warning: copy(copy1): failed to open stream: Is a directory in %s on line %d bool(false) Warning: copy(copy): failed to open stream: Is a directory in %s on line %d bool(false) bool(false) bool(false) bool(false) -- Edit bug report at http://bugs.php.net/?id=42111&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=42111&r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=42111&r=trysnapshot52 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=42111&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=42111&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=42111&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=42111&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=42111&r=needscript Try newer version: http://bugs.php.net/fix.php?id=42111&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=42111&r=support Expected behavior: http://bugs.php.net/fix.php?id=42111&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=42111&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=42111&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=42111&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=42111&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=42111&r=dst IIS Stability: http://bugs.php.net/fix.php?id=42111&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=42111&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=42111&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=42111&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=42111&r=mysqlcfg