我使用这些函数时有什么不同?为什么我应该使用其中一个而不是另一个...
我使用这些函数时有什么不同?为什么我应该使用其中一个而不是另一个...
copy()
函数用于复制文件,这样你就会有两个文件了。对于大文件,这可能需要很长时间。rename()
函数用于更改文件名,这可能意味着将其移动到其他目录中。move_uploaded_file()
函数与 rename()
函数基本相同,但只适用于通过 PHP 的上传机制上传的文件。这是一个安全特性,可以防止用户欺骗您的脚本以显示与安全相关的数据。在未来,建议您自己查找此类信息,请参考PHP 手册。
move_uploaded_file()
的手册中找到了这个内容:
所以看起来Florian S. 在 H. an der E. [.de] 于 2008年8月17日09:02发表评论
在我的设置中,
move_uploaded_file
总是创建文件0600
(rw- --- ---
),并由运行Web服务器的用户(所有者和组)拥有。 尽管目录具有设置为组权限的粘滞位! 我找不到任何设置来通过php.ini甚至使用umask()
来改变这个问题。我希望我的常规用户能够在服务器上执行
tar cjf
目录..但对于完全由web服务器进程用户拥有的文件将会失败; 而copy(from, to)
函数却遵守了粘着位!
copy
和rename
做了 slightly different work.