php - Differences between copy, rename and move_uploaded_file

前端 未结 2 1856
粉色の甜心
粉色の甜心 2020-12-20 12:10

Are there differences when I use that functions? Why should I use one instead of the other one...

相关标签:
2条回答
  • 2020-12-20 12:25
    • copy() copies the file - you now have 2 files, and for large files, this can take very long
    • rename() changes the file's name, which can mean moving it between directories.
    • move_uploaded_file() is basically the same as rename(), 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.

    0 讨论(0)
  • 2020-12-20 12:33

    I found this in the manual of move_uploaded_file():

    Florian S. in H. an der E. [.de] at 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.

    0 讨论(0)
提交回复
热议问题