ID: 30946
User updated by: paul at paulbaranowski dot org
Reported By: paul at paulbaranowski dot org
-Status: Feedback
+Status: Open
Bug Type: Filesystem function related
Operating System: Redhat Enterprise Linux v3.0
PHP Version: 4.3.8
New Comment:
# mkdir /tmp/test
# touch /tmp/test/foo.txt
# emacs test.php
<?
rename("/tmp/test", "/root/test");
?>
# /usr/local/php-4.3.8/bin/php test.php
Warning: rename(/tmp/test,/root/test): Is a directory in /root/test.php
on line 2.
(A empty file "test" has now been created in /root directory)
# rm test
# mkdir /root/test
# touch /root/test/foo.txt
# emacs test.php
<?
rename("/root/test", "/root/test2");
?>
# /usr/local/php-4.3.8/bin/php test.php
( "/root/test" directory renamed to "/root/test2")
# emacs test.php
<?
rename("/tmp/test", "/tmp/test2");
?>
# /usr/local/php-4.3.8/bin/php test.php
("/tmp/test" directory renamed to "/tmp/test2")
Previous Comments:
------------------------------------------------------------------------
[2004-11-30 21:52:20] [EMAIL PROTECTED]
Please, provide a reproduce code so we can reproduce it ourselves.
------------------------------------------------------------------------
[2004-11-30 21:37:21] paul at paulbaranowski dot org
I tried it with that snapshot and the problem is still there.
------------------------------------------------------------------------
[2004-11-30 19:12:59] [EMAIL PROTECTED]
Please try using this CVS snapshot:
http://snaps.php.net/php4-STABLE-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php4-win32-STABLE-latest.zip
------------------------------------------------------------------------
[2004-11-30 19:06:57] paul at paulbaranowski dot org
Description:
------------
The rename function says that renaming across partitions was fixed in
4.3.3, but it appears that it is broken in 4.3.8.
I have three partitions on my system:
/
/dev/shm
/tmp
I'm not sure if it matters, but the disk is mirrored with RAID level
1.
Trying to rename a directory that resides in "/tmp" to the "/" file
system results in:
"Warning: rename(<from>, <to>): Is a directory in <script> on line
XX."
and the <to> directory name is created as an empty file.
I moved the <from> directory to the "/" partition and then tried the
rename again (using the same PHP code) and everything worked fine.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=30946&edit=1