我有一个脚本将文件上传到具有文件权限0644的目录 . 我无法通过FTP或使用PHP的unlink()函数删除文件(550错误) . 在搜索网页后,我无法找到解决此问题的方法 . 我知道该问题与组/所有者权限有关,但我不知道如何解决问题 .
我应该使用copy()还是rename()代替?
有任何想法吗?
Edit: 所有上传的文件都将所有者/组设置为:48 48.我通过FTP而不是PHP脚本上传的所有其他文件都是1006 1006.是否为不正确的用户设置了所有者/组?我已经尝试使用chmod()将权限设置为0666.我认为问题可能出在用户身上?
Edit 2: 我应该使用exec()并运行一个更改文件所有者和组的命令吗?
3 回答
这取决于您的脚本运行的用户 . 请尝试将文件上传为
0655
如果您正在使用
move_uploaded_file();
函数,则权限设置正确,因此unlink();应该管用试试这个
您将需要具有删除文件的写入权限 . 6表示读/写 . 零后面的第一个数字表示文件的所有者,谁创建了它 . 如果您正在运行脚本来创建文件,只要您使用相同的用户(可能是服务器用户),您就应该能够删除它 .