PHP:copy()以某种方式弄乱了文件权限

时间:2011-05-17 15:57:40

标签: php apache ftp

我的网站上有一个图片上传器...

图像上传到临时777文件夹(此图像工作正常,可以删除),然后我将此文件复制到一个新的目录,copy()新文件写入777文件夹,但不能被删除。 chmod()似乎没有帮助...

为什么copy()函数创建的新文件与原始文件有某种不同?我看不到我的FTP客户端有任何差异。两个人有权限644和用户'nobody / 99' - 但这只是第二个文件的问题。

有什么想法吗?

3 个答案:

答案 0 :(得分:3)

您需要自己手动设置权限位:试试这个。

copy($temp_img_url, $save_file_as); chmod($save_file_as, fileperms($temp_img_url));

答案 1 :(得分:3)

问题是父文件夹。

我需要chmod()父文件夹,即使我已经知道了777个烫发....

答案 2 :(得分:2)

因为copy()对文件进行了新的COPY。只有它的内容将保持不变。新文件的权限由脚本的umask()设置控制,新文件名由您控制。