递归删除目录(代码)

递归删除目录:

<?php

    /*递归删除目录*/
    /**
     * [deldir 递归删除目录]
     * @param  string $dir [要删除的目录]
     * @return 删除成功返回true  失败返回false
     */
    function deldir($dir)
    {
        if (!is_dir($dir)) {
            echo '无效目录';
            return false;
        }
        $handle = opendir($dir);

        //递归删除目录
        while (false !== ($filename = readdir($handle))) {
            //ERROR级别的提示:  一定要排除.和..目录
            if ($filename == '.' || $filename == '..') {
                continue;
            }
            //拼接路径
            $path = rtrim($dir,'/').'/'.$filename;
            //判断
            if (is_dir($path)) {
                //如果是目录,就递归调用进去
                deldir($path);
            }
            if(is_file($path)){
                //如果是文件,就直接删除
                unlink($path);
            }
        }

        closedir($handle);
        //删除空目录
        rmdir($dir);
        return true;
    }

//调用函数 删除del目录
 deldir('./del/');

猜你喜欢

转载自blog.csdn.net/alan8865/article/details/80507994
今日推荐