PHP递归删除文件夹内容

PHP递归删除文件夹内容

缓存是什么

缓存是很多网站具有的功能,网站的显示,可以不直接编辑的页面,自动生成PHP的预编译文件,然后存进缓存,一般是网站的runtime里面,网站显示的是runtime里面的代码部分。这种机制的好处是,用户重复访问同一个页面,如果页面无代码的改动,那就直接访问的是runtime 里面对应的页面,不用重复调用方法访问页面。

缓存的坏处与处理

缓存确实是可以降低网站服务器的压力,但是缓存过多,也就是runtime过多,也会影响网站运行速度,处理方法就是就需要清空缓存,也就是删除runitme文件夹的内容,作为程序员,肯定不是手动删除网站的runtime文件夹,而是要写一个方法,因此下面就是为了删除缓存而封装的方法。

代码片段

递归删除文件夹的内容

    /**
     * 清空缓存
     * @param string $dir_name  要删除的文件夹
     * @return bool
     */
    public static function delete_dir_file($dir_name) {   // 为了安全,做成静态方法,防止恶意通过浏览器访问方法
        $result = false;
        if (is_dir($dir_name)) {
            if ($handle = opendir($dir_name)) {
                while (false !== ($item = readdir($handle))) {
                    if ($item != '.' && $item != '..') {
                        if (is_dir($dir_name . '/' . $item)) {
                            self::delete_dir_file($dir_name . '/' . $item);  // 调用方法自身
                        } else {
                            unlink($dir_name . '/' . $item); // 删除文件
                        }
                    }
                }
                closedir($handle); // 关闭文件
                if (rmdir($dir_name)) {  // rmdir  删除空文件夹
                    $result = true;
                }
            }
        }

        return $result;
    }

运行方法以后,目标文件夹以及文件夹里面的内容会被删除干净,千万不要写成D盘或者是C盘的文件路径哦。。。

发布了2 篇原创文章 · 获赞 3 · 访问量 1118

猜你喜欢

转载自blog.csdn.net/qq_40412945/article/details/84324490