BUG:
如果目录已存在,该目录必须为空才可继续创建
<?php /* 定义的path目录 $path = "C:/aaa/bbb/ccc/ddd/eee"; 调用makeDir函数自动生成目录 makeDir($path); $path = "C:/aaa/bbb/ccc/ddd/eee.txt"; 调用makeDir函数自动生成目录在ddd目录下有一eee.txt的文件 makeDir($path,true); 参数说明: $path需要生成的路径,前面什么都不加默认生成在本目录下 例如:/aaa/bbb/ccc/ddd/eee $hasfile是否生成文件,非零为生成文件 文件名在path中包含。 */ function makeDir($path, $hasfile){ //标记是否生成最后的文件,控制循环的次数 $falg = 0; if ($hasfile){ $falg = 1; } //将path按'/'分割 $dirs = split('/', $path); $dircount = count($dirs); $makedir = $dirs[0]; for ($i = 1; $i < $dircount - $falg; $i++){ //判断生成目录的位置 if (!strcmp($makedir,"")){ $makedir = "."; } //目录名称 $makedir = $makedir."/".$dirs[$i]; //判断是否已含有本目录 if (is_dir($makedir)){ echo $makedir."目录已存在<br/>"; continue; } //创建目录 if (mkdir($makedir)){ echo $makedir."--目录创建成功<br/>"; } } //创建文件 if ($hasfile){ $filename = $makedir."/".$dirs[$dircount-1]; //判断文件是否存在 if (!is_file($filename)){ if (touch($filename)){ echo "文件创建成功<br/>"; } }else{ echo "文件已存在<br/>"; } }?>