php如何递归删除目录

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;
}

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注