《PHP---自定义创建目录文件方法》----如果目录已存在,该目录必须为空才可继续创建

来源:互联网 发布:疯狂java讲义光盘下载 编辑:程序博客网 时间:2024/06/05 02:18

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/>";}}?>