Are there diferences when I use that functions? Why should I use one instead of the other one... Thank you.
+5
A:
copy()
copies the file - you now have 2 files, and for large files, this can take very longrename()
changes the file's name, which can mean moving it between directories.move_uploaded_file()
is basically the same asrename()
, but it will only work on files that have been uploaded via PHP's upload mechanism. This is a security feature that prevents users from tricking your script into showing them security-relevant data.
In the future, I suggest looking up such information in the PHP Manual yourself.
Michael Borgwardt
2010-10-13 13:21:29
+1 for the friendly RTFM :)
Pekka
2010-10-13 14:06:03
yeah good answer.
etbal
2010-10-13 14:13:00
A:
I found this in the manual of move_uplaod_file():
Florian S. in H. an der E. [.de]
17-Aug-2008 09:02
move_uploaded_file (on my setup) always makes files 0600 ("rw- --- ---") and owned by the user running the webserver (owner AND group).
Even though the directory has a sticky bit set to the group permissions!
I couldn't find any settings to change this via php.ini or even using "umask()".
I want my regular user on the server to be able to "tar cjf" the directory .. which would fail on files totally owned by the webserver-process-user;
the "copy(from, to)" function obeys the sticky-bit though!
so it seems like copy and rename do a slightly different work.
ITroubs
2010-10-13 13:23:44