php递归删除目录的方法:首先创建一个PHP示例文件;然后通过“DATA_DIR .'/compiled/';”方法获取文件所在路径;接着列出文件和目录;最后使用递归方法删除目录即可。
推荐:《PHP视频教程》
php 递归删除目录
首先要知道什么是递归,这样之后在去读递归代码,以及写都轻而易举
下边所列出的递归代码,是删除文件目录,可做稍微改动显示文件及目录
代码如下:
public function clear){
$compile = DATA_DIR .'/compiled/'; //指文件所在路径
_rmdir$compile,1);
}
// 列出文件和目录
function _scandir$dir) {
iffunction_exists'scandir')) return scandir$dir); // 有些服务器禁用了scandir
$dh = opendir$dir);
$arr = array);
while$file = readdir$dh)) {
if$file == '.' || $file == '..') continue;
$arr[] = $file;
}
closedir$dh);
return $arr;
}
// 递归删除目录
function _rmdir$dir, $keepdir = 0) {
if!is_dir$dir) || $dir == '/' || $dir == '../') return FALSE; // 避免意外删除整站数据
$files = _scandir$dir);
foreach$files as $file) {
if$file == '.' || $file == '..') continue;
$filepath = $dir.'/'.$file;
if!is_dir$filepath)) {
try{unlink$filepath);}catchException $e){}
}else{
_rmdir$filepath);
}
}
if!$keepdir) try{rmdir$dir);}catchException $e){}
return TRUE;
}
