使用该功能时是否存在差异?我为什么要用一个而不是另一个......
答案 0 :(得分:42)
copy()
复制文件 - 您现在有2个文件,对于大文件,这可能需要很长时间rename()
更改文件的名称,这可能意味着在目录之间移动它。move_uploaded_file()
与rename()
基本相同,但它仅适用于通过PHP上传机制上传的文件。这是一项安全功能,可防止用户欺骗您的脚本向他们展示与安全相关的数据。将来,我建议您自己在PHP Manual查找此类信息。
答案 1 :(得分:8)
我在move_uploaded_file()
的手册中找到了这个:
Florian S. in H. an der E. [.de] 于2008年8月17日09:02
move_uploaded_file(在我的设置中)始终生成文件
0600
(rw- --- ---
)并由运行Web服务器的用户(所有者AND组)拥有。 即使该目录的粘性位设置为组权限! 我找不到任何设置来通过php.ini或甚至使用umask()
更改此内容。我希望服务器上的常规用户能够
tar cjf
目录..这对于webserver-process-user完全拥有的文件会失败; 虽然copy(from, to)
函数服从粘性位!
所以看起来copy
和rename
的工作略有不同。