您的位置:首页 > 编程语言 > PHP开发

PHP碎码——删除除指定文件的其他文件及目录

2016-12-03 23:38 281 查看
<?php

header('content-type:text/html;charset=utf-8');

$path = iconv("utf-8", "gb2312", 'C:/MyServer/www/PHP05/day06/2016/');

delete_dir($path);

/**
参数必须为目录,中文亦可
删除目录下--除指定文件或包涵置顶文件的目录其他目录和文件
*/
function delete_dir($path){

// 返回一个 array,包含有目录中的文件和目录
$arr = scandir($path);
//echo '<pre>';
// var_dump($arr);
// 遍历目录下的每个子项(包括文件,目录,. ,..)
foreach ($arr as $value) {

// 若名字为.或者..的直接跳过
if($value == '.' || $value == '..'){
continue;
}

// 当前目录路径与 该目录下子项分别拼接
$in_path = $path.$value;

// 判断是文件或者目录
if (is_dir($in_path)) {

// 在目录路径尾部追加 /
$in_path .= '/';

// 递归
delete_dir($in_path);

// 判断该目录是否为空
if(count(scandir($path)) == 2){
rmdir($in_path);
}

} else {

// 判断文件名是否为指定的名字,若不是,直接删除
if(basename($in_path) != iconv("UTF-8", "gb2312", "abc - 副本.txt")){

// 删除文件
unlink($in_path);

}

}

}

}

?>
代码稍作修改可用于,搜索指定文件,提取指定文件,统计文件等等需要遍历目录的需求

转战PHP,愿我能走的更远
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php 指定文件