PHP删除非空目录

  PHP内置的函数有一个rmdir()是用来删除目录的。但是这个函数根据手册:

尝试删除 dirname 所指定的目录。 该目录必须是空的,而且要有相应的权限。如果成功则返回 TRUE,失败则返回 FALSE

  因此可以自己写的函数来弥补rmdir的不足,思路很简单:先检查目录下有没有文件或文件夹,如果有,就用递归删除目录下的所有文件和文件夹,然后删除此目录。

  代码如下:<?php
function d_rmdir($dirname) {
if(!is_dir($dirname)) {
return false;
}
$handle = @opendir($dirname);
while(($file = @readdir($handle)) !== false){
if($file != '.' && $file != '..'){
$dir = $dirname . '/' . $file;
is_dir($dir) ? d_rmdir($dir) : @unlink($dir);
}
}
closedir($handle);
return rmdir($dirname) ;
}
?>

标签:Function, PHP

添加一条评论 »本文共 2 条评论

  1. Hello, thx for all,

  2. 虽然不懂PHP,但能看到你的消息还是很高兴。。。。^_^

    2008加油。。。。加油2008.。。

Deepseath Modified from Green Hope Theme · Proudly powered by WordPress · 津ICP备09005418号-1  津公网安备 12010302001005号