<?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,愿我能走的更远
时间: 2024-10-27 13:09:00