Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何修复文件权限(以及所有者/组),以便删除php上载的文件?_Php_File_Permissions_Upload - Fatal编程技术网

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

如何修复文件权限(以及所有者/组),以便删除php上载的文件?,php,file,permissions,upload,Php,File,Permissions,Upload,我有一个脚本,可以将文件上载到具有文件权限的目录0644。我无法通过FTP或使用PHP的取消链接功能删除文件。在浏览网页之后,我找不到解决这个问题的方法。我知道这个问题与组/所有者权限有关,但我不知道如何解决这个问题 我应该使用复制还是重命名 有什么想法吗 编辑:所有上载的文件的所有者/组设置为:48。我通过FTP而不是PHP脚本上传的所有其他文件都是1006 1006。是否为不正确的用户设置了所有者/组? 我已经尝试使用chmod将权限设置为0666。我想问题可能出在用户身上 编辑2:我是否应

我有一个脚本,可以将文件上载到具有文件权限的目录0644。我无法通过FTP或使用PHP的取消链接功能删除文件。在浏览网页之后,我找不到解决这个问题的方法。我知道这个问题与组/所有者权限有关,但我不知道如何解决这个问题

我应该使用复制还是重命名

有什么想法吗

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


编辑2:我是否应该使用exec并运行一个命令来更改文件的所有者和组?

这取决于脚本运行的用户。如果您使用的是move_uploaded_file,请尝试将文件上载为0655;功能,权限设置正确,因此取消链接;应该有用

试试这个

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

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

@alienwebguy我尝试了0655,但不起作用。我在问题中添加了更多信息。我猜您需要设置包含该文件的目录的权限。@alienwebguy,它们已经设置为0777。所有父目录都需要这些权限吗?递归地说,对于文档根目录,所有父目录都需要脚本的写入权限,但0777允许组执行文件,这是一个很大的禁忌。请为您的目录尝试chmod 1775/controlled。@alienwebguy很遗憾,这不起作用。我几乎可以肯定chmod权限不是这里的问题。我正在试图找出如何通过exec更改所有者和组