PHP自定义函数删除非空文件夹
当我们用 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 删除,最后删除此目录。
注意事项:请保证你有操作文件夹的权限。
- 上一篇:PHP常用函数库和编程实践技巧
 - 下一篇:结合PHP和CURL抓取远程网页数据
 






