首页 文章

如何修复文件权限(和所有者/组)以便删除php上传的文件?

提问于
浏览
1

我有一个脚本将文件上传到具有文件权限0644的目录 . 我无法通过FTP或使用PHP的unlink()函数删除文件(550错误) . 在搜索网页后,我无法找到解决此问题的方法 . 我知道该问题与组/所有者权限有关,但我不知道如何解决问题 .

我应该使用copy()还是rename()代替?

有任何想法吗?

Edit: 所有上传的文件都将所有者/组设置为:48 48.我通过FTP而不是PHP脚本上传的所有其他文件都是1006 1006.是否为不正确的用户设置了所有者/组?我已经尝试使用chmod()将权限设置为0666.我认为问题可能出在用户身上?

Edit 2: 我应该使用exec()并运行一个更改文件所有者和组的命令吗?

3 回答

  • 0

    这取决于您的脚本运行的用户 . 请尝试将文件上传为 0655

  • 0

    如果您正在使用 move_uploaded_file(); 函数,则权限设置正确,因此unlink();应该管用

    试试这个

    move_uploaded_file($from, $to);
    chmod($to, 0666);
    
  • 0

    您将需要具有删除文件的写入权限 . 6表示读/写 . 零后面的第一个数字表示文件的所有者,谁创建了它 . 如果您正在运行脚本来创建文件,只要您使用相同的用户(可能是服务器用户),您就应该能够删除它 .

相关问题