几个简单的文件&目录操作函数

一,检测目录是否为空

function isEmptyDir($path){

$handle=opendir($path);----打开路径

while (($item=readdir($handle))!==false){----判断文件名不为假

//循环出$item,如果不是.跟..,那么在if条件里就为真,否则为(空)假

if ($item!="."&&$item!=".."){

return false;

}

}

closedir($handle);----关闭文件句柄

return true;----目录为空,返回true

}

$path="Your path";

var_dump(isEmptyDir($path));----查看返回类型


二,取得目录下包含子目录里的所有文件(或者指定文件后缀,glob("*.txt"))

function getAllFiles($path){

$handle=opendir($path);

while (($item=readdir($handle))!==false){

if ($item!=="."&&$item!==".."){

if (is_file($path."/".$item)){

echo "{$path}/{$item}文件<br/>";

}

if (is_dir($path."/".$item)){

echo "{$item}是目录<br/>";

$func=__FUNCTION__;

$func($path."/".$item);

}

}

}

closedir($handle);

}

$path="a";

getAllFiles($path);


三,删除一个非空目录

function deleteDir($path){

if (file_exists($path)){

$handle=opendir($path);

while (($item=readdir($handle))!==false){

if ($item!="."&&$item!=".."){

if (is_file($path."/".$item)){

unlink($path."/".$item);

//echo "{$path}/{$item}文件删除成功<br/>";

}

if (is_dir($path."/".$item)){

$func=__FUNCTION__;

$func($path."/".$item);

}

}

}

closedir($handle);

rmdir($path);

echo "{$path}文件夹删除成功!<br/>";

}else {

return null;

//echo "无此目录!<br/>";

}

}


deleteDir("a");