Php mkdir()为创建的所有子目录应用chmod 0777

Php mkdir()为创建的所有子目录应用chmod 0777,php,file-permissions,mkdir,Php,File Permissions,Mkdir,当我调用mkdir('/tmp/d/e/e/p/p/a/t/h/',0777,true)时我需要到目前为止创建的所有子目录都具有指定的chmod:0777 最短的路是什么? 我注意到它没有发生 root@server [/tmp]# ls -la /tmp/d/e/e/p/p/a/t/h/ total 8 drwxr-xr-x 2 user group 4096 Aug 6 12:59 ./ drwxr-xr-x 3 user group 4096 Aug 6 12:59 ../ 代码:

当我调用
mkdir('/tmp/d/e/e/p/p/a/t/h/',0777,true)时我需要到目前为止创建的所有子目录都具有指定的chmod:0777

最短的路是什么? 我注意到它没有发生

root@server [/tmp]# ls -la /tmp/d/e/e/p/p/a/t/h/
total 8
drwxr-xr-x 2 user group 4096 Aug  6 12:59 ./
drwxr-xr-x 3 user group 4096 Aug  6 12:59 ../
代码:



请看一看。

这就像jack sleight在php.net上说的()

您必须为
/tmp/d/e/e/p/p/a/t/h
的每个目录运行
chmod

你可以用foreach循环。像这样的方法应该会奏效:

$path = "/tmp/d/e/e/p/p/a/t/h";
$dirs = explode("/", $path);
$cDirs = "";
foreach($dirs as $cDir) {
    $cDirs .= "/".$cDir;
    chmod($cDir, 0777);
}
提示:如果您在linux下,只需运行:

$path = "/tmp/d/e/e/p/p/a/t/h";
exec("mkdir -R ".$path);
exec("chmod -R 777 ".$path);

就像jack sleight在php.net上说的那样()

您必须为
/tmp/d/e/e/p/p/a/t/h
的每个目录运行
chmod

你可以用foreach循环。像这样的方法应该会奏效:

$path = "/tmp/d/e/e/p/p/a/t/h";
$dirs = explode("/", $path);
$cDirs = "";
foreach($dirs as $cDir) {
    $cDirs .= "/".$cDir;
    chmod($cDir, 0777);
}
提示:如果您在linux下,只需运行:

$path = "/tmp/d/e/e/p/p/a/t/h";
exec("mkdir -R ".$path);
exec("chmod -R 777 ".$path);

我会用一行字来表达:

exec('install -d -m 0777 /tmp/d/e/e/p/p/a/t/h');

这将使用指定的掩码一步递归地创建所有目录。

我将在一行中完成:

exec('install -d -m 0777 /tmp/d/e/e/p/p/a/t/h');

这将使用指定的掩码一步递归地创建所有目录。

您能否再解释一下您的问题,您是否在问mkdir('/tmp/d/e/e/p/p/a/t/h',0777,true);不起作用??请解释你的问题,你想“temp,d,e,e,p,p,t,h”目录设置0777权限,还是想用一个mkdir()函数创建这些目录至少最终的目录h/没有0777权限。你能再解释一下你的问题吗,你问的是mkdir('/tmp/d/e/e/p/a/t/h',0777,true);不起作用??请解释您的问题,您是希望“temp、d、e、e、p、p、t、h”目录设置0777权限,还是希望使用一个mkdir()函数创建这些目录至少最终目录h/没有0777权限。我还需要执行chmod-R 777/tmp/d/以获得我的答案;需要为此脚本创建的所有子目录设置0777。umask=
umask
;乌马斯克0000;mkdir-p/tmp/d/e/e/p/p/a/t/h;乌马斯克$unask;或者
mkdir-p/tmp/d/e/e/p/p/a/t/h&&chmod 777/tmp/d/e/e/p/p/a/t/h-R
目标是立即为所有创建的子目录设置chmod 777,d/,e/,e/,p/,a/t/,h/。@BimalPoudel使用
-R
选项在每个子目录上设置递归chmod
cd/tmp/&&mkdir-pd/e/p/p/a/t/h&&chmod 777d/e/e/p/p/a/t/h-R
我还需要做chmod-R 777/tmp/d/来得到我的答案;需要为此脚本创建的所有子目录设置0777。umask=
umask
;乌马斯克0000;mkdir-p/tmp/d/e/e/p/p/a/t/h;乌马斯克$unask;或者
mkdir-p/tmp/d/e/e/p/p/a/t/h&&chmod 777/tmp/d/e/e/p/p/a/t/h-R
目标是立即为所有创建的子目录设置chmod 777,d/,e/,e/,p/,a/t/,h/。@BimalPoudel使用
-R
选项在每个子目录上设置递归chmod<代码>cd/tmp/&&mkdir-PD/e/e/p/p/a/t/h&&chmod 777 d/e/e/p/p/a/t/h-R