new*_*php -2 php foreach for-loop while-loop mkdir
我有以下目录c:/files,我正在尝试创建一个包装函数,它模拟mkdir()的功能,除了在多个文件夹上工作,例如
mkdir在以下方面工作正常:
mkdir('c:/files/games', 0777);
Run Code Online (Sandbox Code Playgroud)
但不是这个:
mkdir('c:/files/games/say/yes', 0777);
Run Code Online (Sandbox Code Playgroud)
下面是一些粗略的代码来进一步描述我想要实现的目标:
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');
Run Code Online (Sandbox Code Playgroud)
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);
Run Code Online (Sandbox Code Playgroud)
这使您的自定义功能过时.但是,如果你真的想创建自己的函数(在我看来不值得思考,因为它已经存在于内置),它应该看起来像
function recursive_mkdir ($path, $chmod = 0777) {
$parent = dirname($path);
if (!file_exists($parent)) recursive_mkdir($parent, $chmod);
mkdir($path, $chmod);
}
Run Code Online (Sandbox Code Playgroud)