006PHP文件处理—— 目录操作 删除目录 删除置顶类型文件

<?php
/**
 * 目录操作 删除目录 删除置顶类型文件
 */
//echo rmdir('61') or die('目录删除失败');

//删除一个目录中有其他文件的内容的方法:
//第1种方法
/*$dir=opendir('61');//打开目录61
while ($file=readdir($dir)){ //循环读取目录
    if($file!='.'&& $file!='..'){ //判断排除 . 和 .. 目录
        unlink('61\\'.$file);//删除当前目录下的文件
    }
}
closedir($dir);
rmdir('61');//在删除最后的文件夹*/

//第2种方法
/*$dirArr=glob('a\*');
foreach ($dirArr as $v){
    unlink($v);
}
rmdir('a');*/
//第3种方法
/*$dirArr=glob('a\*');
array_map(unlink,$dirArr);
rmdir('a');*/


//删除目录中还有子目录的方法:
//第一种方法(推荐使用)
/*function delDir($dirname)
{
    $dir = opendir($dirname);
    while ($file = readdir($dir)) {
        $filename = $dirname . '\\' . $file;
        if ($file != '.' && $file != '..') {
            if (is_dir($filename)) {
                delDir($filename);
            } elseif (is_file($filename)) {
                unlink($filename);
            }
        }
    }
    closedir($dir);
    rmdir($dirname);
}

delDir('a');*/

//第二种方法
/*function delDirGlob($dirname)
{
    $dirArr = glob($dirname . '\*');
    foreach ($dirArr as $v) {
        if (is_dir($v)) {
            delDirGlob($v);
        } elseif (is_file($v)) {
            unlink($v);
        }
    }
    rmdir($dirname);
}

delDirGlob('a');*/


//删除目录中指定类型的文件:(例:删除a目录下的.php文件)
/*function delFile($dirname, $fileType)
{
    $dir = opendir($dirname);
    while (($file = readdir($dir)) != FALSE) {
        $filename=$dirname.'\\'.$file;
        if ($file!='.'&&$file!='..'){
            if (is_dir($filename)){
                delFile($filename,$fileType);
            }
            if (!is_array($fileType)){
                $Type[]=$fileType;
            }else{
                $Type=$fileType;
            }
            if (is_file($filename) && in_array(strrchr($file,'.'),$Type)){
                unlink($filename);
            }
        }
    }
}
//delFile('a',array('.php','.txt'));//文件类型可以置顶成数组

delFile('a','.php');//文件类型可以指定一个字符串*/

  

posted @ 2018-01-10 17:39  生如逆旅,一苇以航  阅读(263)  评论(0编辑  收藏  举报