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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP碎码——删除除指定文件的其他文件及目录相关的知识,希望对你有一定的参考价值。

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


本文出自 “樵夫” 博客,请务必保留此出处http://woodcutter.blog.51cto.com/9079117/1879242

以上是关于PHP碎码——删除除指定文件的其他文件及目录的主要内容,如果未能解决你的问题,请参考以下文章

终端使用"rm"命令,删除文件或目录

php 删除指定文件夹

php删除指定目录所有文件

php上传电脑本地文件并且存到指定目录,并且存放到数据库怎么个思路?

C#如何遍历指定目录以及指定目录下所有子文件夹,并获取除指定文件类型以外的所有文件的绝对路径?

php复制目录下的所有文件及文件夹