似梦似醒

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

因为php 的rmdir 只能删除空文件夹。

一旦要删除有文件的文件夹,就需要先把文件夹里的文件删除掉。

当然了,还有文件夹里的文件夹,下面还有文件夹。。。。怎么办呢。

递归删除法,完美解决这个问题。上代码

function rmfile($dir){   
    if(!file_exists($dir)) echo  "文件不存在!";
    
        if ($file_dir = opendir($dir)) {
            while (($sun_file=readdir($file_dir)) != false) {
                if ($sun_file !=='.' && $sun_file !=='..') {
                    if(is_dir("$dir/$sun_file")){
                        rmfile("$dir/$sun_file");
                    } else {
                        unlink("$dir/$sun_file");
                    }
                }
            }
        }
        closedir($file_dir);
        rmdir($dir);
}

 rmfile("./dir");

 

这是我自己编写的,还有一个别人写的,原理是一样的。也可以参考。最好自己写一遍。

http://blog.csdn.net/wuxiaopeng_1986/article/details/52956870

posted on 2017-07-04 19:22  人生如梦,梦如人生  阅读(182)  评论(0编辑  收藏  举报