<?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,愿我能走的更远