在php中要实现简单的目录创建和删除分别利用mkdir和rmdir这有点像dos中的命令了,但如果我要创建多级目录或删除多级目录中的文件和目录则需要递归来实例了。
php中mkdir创建多级目录
代码如下
复制代码
function mkdirs($dir)
{ if(!is_dir($dir))
{ if(!mkdirs(dirname($dir)))
{ return false; }
if(!mkdir($dir,0777))
{ return false; } }
return true;
}
调用方法
mkdirs('div/css/layout');
创建多级目录更标准的方法
代码如下
复制代码
//检查并创建多级目录
function checkDir($path){
$pathArray = explode('/',$path);
$nowPath = '';
array_pop($pathArray);
foreach ($pathArray as $key=>$value){
if ( ''==$value ){
unset($pathArray[$key]);
}else{
if ( $key == 0 )
$nowPath .= $value;
else
$nowPath .= '/'.$value;
if ( !is_dir($nowPath) ){
if ( !mkdir($nowPath, 0777) ) return false;
}
}
}
return true;
}
删除多级目录方法
在winxp下测试成功,只要php文件编码为gb2312,文件名随意,应该把文件名改为编码为gb2312,就行,没测
代码如下
复制代码
递归删除多级目录
同样的思路,php用rmdir和unlink递归删除多级目录的代码:
代码如下
复制代码
function rmdirs($dir)
{
$d = dir($dir);
while (false !== ($child = $d->read())){
if($child != '.' && $child != '..')
{
if(is_dir($dir.'/'.$child))
rmdirs($dir.'/'.$child);
else
unlink($dir.'/'.$child); }
}
$d->close();
//调用方法也很简单只要给目录就好
rmdir($dir);
}
本文原创发布php中文网,转载请注明出处,感谢您的尊重!