您的位置:首页 > 编程语言

递归读目录,创建目录,级联删除代码实现

2013-07-31 22:47 453 查看
<?php

// 递归读目录

function recdir($path) {
if(!is_dir($path)) {
echo $path,'<br />';
return;
}

echo $path,'<br />';

$dh = opendir($path);
while(false !== ($sub = readdir($dh))) {
if($sub == '.' || $sub == '..') { //windows 下  . 代表当前目录  .. 代表上一级目录

continue;
}
recdir($path . '/' . $sub);
}
}

recdir('./rec');

// 递归创建目录

function mk_dir($path) {
// 第一种情况,$path对应已经存在. 直接return true;
if(is_dir($path)) {
return true;
}

// 判断$path的父目录存在
if(is_dir(dirname($path))) {
return mkdir($path);
}

// 如果父目录也不存在,只好调用自己先去创建父目录.
if(mk_dir(dirname($path))) {
return mkdir($path);
} else {
return false;
}
}

if(mk_dir('D:/www/z/y/x/w/v')) {
echo '级联创建成功';
} else {
echo '级联创建失败';
}

/*
递归级联删除
*/

function deleteDir($path){//没有检测目录是否存在
$handle=opendir($path);
while(false!==($file=readdir($handle))){
if($file!='.'&&$file!='..'){
$subpath=$path.'/'.$file;
if(is_file($subpath)){
unlink($subpath);
}
if(is_dir($subpath)){
deleteDir($subpath);
}
}
}
closedir($handle);
return rmdir($path);

}

echo deleteDir('D:/www')?'删除成功':'删除失败';

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: