龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

PHP自定义函数删除非空文件夹

时间:2009-12-21 11:47来源:未知 作者:admin 点击:
分享到:
当我们用PHP自带的文件系统函数rmdir删除目录时往往会遇到一个问题,那就是要删除的这个目录必须为空,否则会报错。本文介绍的方法是先检查目录下有没有文件或文件夹,如果有,

当我们用 PHP 自带的文件系统函数 rmdir 删除目录时往往会遇到一个问题,那就是要删除的这个目录必须为空,否则会报错。本文介绍的方法是先检查目录下有没有文件或文件夹,如果有,就用递归删除目录下的所有文件和文件夹,然后删除此目录。

<?php
// 说明: PHP删除非空目录的自定义函数
// 来源:网络
function removeDir($dirName)
{
    if(! is_dir($dirName))
    {
        return false;
    }
    $handle = @opendir($dirName);
    while(($file = @readdir($handle)) !== false)
    {
        if($file != '.' && $file != '..')
        {
            $dir = $dirName . '/' . $file;
            is_dir($dir) ? removeDir($dir) : @unlink($dir);
        }
    }
    closedir($handle);
    
    return rmdir($dirName) ;
}
?>

函数原理:先检查此目录下是否有文件,如果有,是文件夹的话就再调用此函数删除,如果是文件就直接调用 unlink 删除,最后删除此目录。

注意事项:请保证你有操作文件夹的权限。

精彩图集

赞助商链接