日期:2014-05-17 浏览次数:20558 次
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/>";
}
}
?>