for loop-创建一个不适用于PHPs mkdir的目录路径


for loop - Creating a directory path not working with PHPs mkdir?

我有以下目录c:/files,我正在尝试创建一个包装器函数,该函数模拟mkdir((的功能,但适用于多个文件夹,例如

mkdir在以下方面运行良好:

mkdir('c:/files/games', 0777);

但不在此:

mkdir('c:/files/games/say/yes', 0777); 

下面是一些粗略的代码来进一步描述我试图实现的目标:

function mmkdir($path, $chmod = 0777) {
/* do some loop or something with mkdir()? here */
}
mmkdir('C:/tmp/something/something');
mmkdir('C:/tmp/go/something');
mmkdir('C:/tmp/yes');

mkdir在以下方面运行良好:

mkdir('c:/files/games', 0777);

但不在此:

mkdir('c:/files/games/say/yes', 0777);

错误,mkdir()有第三个参数

bool mkdir(string$pathname[,int$mode=0777[,bool$recursive=false[,resource$context]]](

mkdir('c:/files/games/say/yes', 0777, true); 

这会使您的自定义功能过时。然而,如果真的想创建自己的函数(在我看来,这不值得考虑,因为它已经内置了(,它应该看起来像

function recursive_mkdir ($path, $chmod = 0777) {
  $parent = dirname($path);
  if (!file_exists($parent)) recursive_mkdir($parent, $chmod);
  mkdir($path, $chmod);
}

调用mkdir()函数,递归参数设置为TRUE。例如:

mkdir('c:/files/games/say/yes', 0777, TRUE);