ID: 42111
User updated by: mahesh dot vemula at in dot ibm dot com
-Summary: copy() does unexpected creation of file for dir as src
& returns FALSE as expec
Reported By: mahesh dot vemula at in dot ibm dot com
Status: Open
Bug Type: Scripting Engine problem
Operating System: RHEL4
PHP Version: 5CVS-2007-07-26 (CVS)
New Comment:
Changed the Summary to make precise.
Previous Comments:
------------------------------------------------------------------------
[2007-07-26 13:40:50] mahesh dot vemula at in dot ibm dot com
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 this bug report at http://bugs.php.net/?id=42111&edit=1