PHP递归删除文件夹内容
程序员文章站
2022-07-10 09:17:56
...
缓存是什么
缓存是很多网站具有的功能,网站的显示,可以不直接编辑的页面,自动生成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盘的文件路径哦。。。
上一篇: Directed Graph
下一篇: 三张內存变化图揭秘基本类型数组的初始化