如果我使用mkdir()在php中创建文件夹,它将具有www-data:www-data用户和755权限。问题是我无法使用ftp用户(zapbe:psasrv)删除此文件夹。我尝试在php中使用chmod($path,"0777")修改文件夹,但这并不起作用。如何使创建的文件夹和上传的文件对www-data和ftp用户都可读/可删除?
bool chmod ( string $filename , int $mode )
在PHP中,安全方面可能存在一些限制,因此根据您的配置,它可能无法正常工作。
上述函数返回一个布尔值,让您知道是否已成功更改实体权限。
if(!chmod($directory,0777))
{
echo "Unable to chmod $direcotry";
}
此外,PHP中的一句话引用:
当前用户是PHP运行的用户。这可能不是您用于正常shell或FTP访问的相同用户。在大多数系统上,只有拥有该文件的用户才能更改模式。
理解以上内容后,您应该查看chown。
默认情况下,在*nix中创建文件夹时,其他用户将无法删除/修改文件夹。
要更改www-data创建的文件夹的权限,请在浏览器中运行php脚本中的命令,它应该成功更新
注意不要把新权限放在双引号中,它需要是一个八进制数字
chmod($path, 0777);
// not chmod($path, "0777);
移除双引号并尝试检查文件所有者
chmod($path, 0777)
mkdir("/path/to/my/dir", 0777);
- miku