首先学习这几个php函数:
$dir = './runtime'; // 缓存文件夹
is_dir($dir); // 判断是否为目录 bool(true)
$dh = opendir($dir) ; // 打开的目录句柄资源 resource(62) of type (stream) 是一个资源型的文件流
closedir($dh); // 关闭目录句柄注意它的参数,是opendir($dir)的资源型
readdir($dh); // 返回目录中下一个文件的文件名,注意它的参数,是opendir($dir)的资源型
unlink(''); // 函数删除文件
rmdir($dir); // 函数删除空的目录
下面主要代码:
-
/**
-
* 删除指定目录,用于删除缓存
-
* @param [type] $dir_path 文件夹路径
-
* @return [type] [description]
-
*/
-
function deleteDir($dir_path)
-
{
-
$dh = opendir($dir_path);
-
while (($file = readdir($dh)) !== false){
-
if ($file != "." && $file != "..") {
-
$fullpath = $dir_path.'/'.$file;
-
if(!is_dir($fullpath)){
-
unlink($fullpath);
-
}else{
-
deleteDir($fullpath);
-
rmdir($fullpath);
-
}
-
}
-
}
-
closedir($dh);
-
$result = true;
-
$ndh = opendir($dir_path);
-
while (($file = readdir($ndh)) !== false){
-
if($file != "." && $file != ".."){
-
$result = false;
-
}
-
}
-
closedir($ndh);
-
return $result;
-
}
调用函数:
-
// 清除缓存
-
public function deleteCache()
-
{
-
$retval = deleteDir('../runtime/cache');
-
if($retval){
-
$retval = deleteDir('../runtime/temp');
-
}
-
return $retval;
-
}