mkdir创建多个子目录php/apache

Mav*_*ick 2 php linux apache mkdir

mkdir ("dir1/{dir1-1,dir1-2}",0755,TRUE);
Run Code Online (Sandbox Code Playgroud)

此命令使用名为"{dir1-1,dir1-2}"的单个子文件夹创建文件夹dir1,而不是将dir1-1和dir1-2创建为dir1的两个子文件夹.

任何想法如何从上面的单个mkdir命令工作?

Dav*_*dom 6

PHP不像shell那样支持大括号扩展.如果要创建多个目录,则必须mkdir()多次调用,并且可以通过循环轻松完成此操作.

您可以TRUE作为第三个参数传递给mkdir()- 这意味着如果它们不存在且父级是可写的,那么也将创建备份树的所有目录.TRUE在循环操作时,您可以安全地传递给所有调用,给定目录的第一次迭代将创建它,后续调用将没有不利影响.

例如:

$toCreate = array(
  'dir1/dir1-1',
  'dir1/dir1-2'
);

$permissions = 0755;

foreach ($toCreate as $dir) {
  mkdir($dir, $permissions, TRUE);
}
Run Code Online (Sandbox Code Playgroud)