mkdir ("dir1/{dir1-1,dir1-2}",0755,TRUE);
此命令使用名为“{dir1-1,dir1-2}”的单个子文件夹创建文件夹dir1,而不是将dir1-1和dir1-2创建为dir1的两个子文件夹。
任何想法如何从上面的单个mkdir命令开始工作?
答案 0 :(得分: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);
}
答案 1 :(得分:1)
shell mkdir可以这样做:
mkdir -p /foo/bar/peng
所以现在你可以从php中调用外部shell命令。但要注意安全。