在php中创建目录,避免777权限


Create directory in php avoiding 777 permission

我有一个php脚本,用于为不同的用户创建不同的目录来存储他们的图像。一种方法是使用777权限,如下所示:

$path = 'images/product/'.$pid;
if( ! file_exists($path)) {
    $mask=umask(0);
    mkdir($path, 0777);
    umask($mask);
}

有没有其他不涉及对目录使用777权限的选择,例如设置文件所有者和组?

更改文件所有者/组需要Apache所不具备的特权,如果您想安全地运行它的话。不过,您不一定需要0777。我猜你正在存储图像,所以你可以使用0644!

附带说明:chgrp()chown()是两个函数,使您能够更改文件组/所有者