欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PHP递归删除文件夹内容

程序员文章站 2022-07-10 09:17:56
...

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盘的文件路径哦。。。

相关标签: PHP文件操作