ID:               50676
 Updated by:       paj...@php.net
 Reported By:      andreas at heigl dot org
 Status:           Bogus
 Bug Type:         Filesystem function related
 Operating System: Mac OS X 10.6
 PHP Version:      5.3.1
 New Comment:

Volumes can be mounted everywhere on windows as well. That does not
change the fact that they are a different volume. Please read the
underlying documentations for rename and how it works, that may help to
understand the limitation.


Previous Comments:
------------------------------------------------------------------------

[2010-01-14 14:45:05] andreas at heigl dot org

I understand, that rename can only operate on the same volume (like the
move-command). But unlike in windows on a Mac (as on any other UNIX-like
environment) volumes can be mount anywhere in the folder-hirachy, so
that it is rather difficult to check whether source and target of the
rename are on the same volume or not.

And as I pointed out in the original bug-report, the source-file
actually is deleted, so there is no need for the error message.

------------------------------------------------------------------------

[2010-01-14 13:56:49] il...@php.net

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

rename() can only work "normally" when operating on the same volume. 

In your case it emulates rename via copy & delete. I would guess since

it cannot delete file from the original volume, it gives you an error 
message.

------------------------------------------------------------------------

[2010-01-11 12:59:23] p dot szalko at gmail dot com

The same bug is in PHP 5.2.11 and Mac OS X 10.5

------------------------------------------------------------------------

[2010-01-06 10:16:00] andreas at heigl dot org

Description:
------------
When renaming files acros Volumes a warning is triggered that the 
"Operation is not permitted. 
The operation is executed though.

Reproduce code:
---------------
- Create two images and mount them (Image1, Image2). 
- Disable the 'Ignore Owner'-Feature on both of them and set
permissions so the WebServer can access the files.
- Add a file to one of the mounted volumes (touch
/Volumes/Image1/testfile)

ini_set ( 'error_reporting', E_ALL );
ini_set ( 'display_errors', true );
rename ( '/Volumes/Image1/testfile', '/Volumes/Image2/testfile' );


Expected result:
----------------
The file /Volumes/Image1/testfile has been copied to 
/Volumes/Image2/testfile ad the original file has been removed.
No error should be triggered

Actual result:
--------------
The file /Volumes/Image1/testfile has been copied to 
/Volumes/Image2/testfile ad the original file has been removed.

Additionally the following error is triggered:
rename(/Volumes/Image1/testfile,/Volumes/Image2/testfile): Operation
not 
permitted in renametest.php on line n


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=50676&edit=1

Reply via email to