php 目录遍历、删除 函数的使用介绍


Posted in PHP onApril 28, 2013

小编今天没事写了目录想关的函数 

   包括 遍历该文件夹下的文件,目录子目录  读取当前文件下目录和文件  删除当前文件夹下的目录子目录以及文件 以上三个函数目前还不支持中文文件 中文目录

<?php
header("Content-type:text/html;charset=utf-8");
/**
* 读取当前目录下的文件和目录
* 
* @param    string    $path    路径
* @return    array    所有满足条件的文件
*/
function tlist($path){
    $path = iconv('utf-8', 'gbk', $path);
    if(!is_dir($path)){
        throw new Exception($path."不是目录");
    }
    $arr = array('dir'=>array(),'file'=>array());
    $hd = opendir($path);
    while(($file = readdir($hd))!==false){
        if($file=="."||$file=="..") {continue;}
        if(is_dir($path."/".$file)){
            $arr['dir'][] = iconv('gbk','utf-8',$file);
        }else if(is_file($path."/".$file)){
            $arr['file'][] = iconv('gbk','utf-8',$file);
        }
    }
    closedir($hd);
    echo "目录有:".implode("<br />",$arr['dir'])."<br />";
    echo "文件有:".implode("<br />",$arr['file']);
}
/**
* 遍历当前目录下的文件和目录以及子文件夹中目录
* 
* @param    string    $path    路径
* @return    array    所有满足条件的文件
*/
function blist($path){
    if(!is_dir(iconv("utf-8","gbk",$path))){
    throw new Exception("文件夹".$path."不存在或者不是文件");
   }
    $arr = array();
    $hd = opendir(iconv("utf-8","gbk",$path));
    while(($file = readdir($hd))!==false){
        if($file=="."||$file=="..") {continue;}
          $newpath=iconv('utf-8', 'gbk', $path) .'/'.$file;
        if(is_dir($newpath)){
            $arr[] = blist($path."/".$file);
        }else if(is_file($newpath)){
            $arr[] = iconv('gbk','utf-8',$file);
        }
    }
    closedir($hd);
    return $arr;
}
/**
* 删除目录下的文件以及子目录
* #param  string $path 路径
* #return string 删除成功返回true 失败返回false;
*/
function dirDel($path){
    if(!is_dir($path)){
        throw new Exception($path."输入的不是有效目录");
    }
    $hand = opendir($path);
    while(($file = readdir($hand))!==false){
        if($file=="."||$file=="..")  continue;
        if(is_dir($path."/".$file)){
            dirDel($path."/".$file);
        }else{
            @unlink($path."/".$file);
        }    }
    closedir($hand);
    @rmdir($path);
}
?>

PHP 相关文章推荐
攻克CakePHP系列三 表单数据增删改
Oct 22 PHP
Ajax+PHP 边学边练 之二 实例
Nov 24 PHP
php中使用Curl、socket、file_get_contents三种方法POST提交数据
Aug 12 PHP
php中的比较运算符详解
Oct 28 PHP
PHP根据IP地址获取所在城市具体实现
Nov 27 PHP
使用php检测用户当前使用的浏览器是否为IE浏览器
Dec 03 PHP
CodeIgniter扩展核心类实例详解
Jan 20 PHP
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
Feb 01 PHP
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
Mar 23 PHP
php实现留言板功能
Mar 05 PHP
PHP十六进制颜色随机生成器功能示例
Jul 24 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
Apr 04 PHP
基于php权限分配的实现代码
Apr 28 #PHP
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
Apr 28 #PHP
phpcms模块开发之swfupload的使用介绍
Apr 28 #PHP
php中get_headers函数的作用及用法的详细介绍
Apr 27 #PHP
使用php get_headers 判断URL是否有效的解决办法
Apr 27 #PHP
php中serialize序列化与json性能测试的示例分析
Apr 27 #PHP
php gzip压缩输出的实现方法
Apr 27 #PHP
You might like
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
掌握PHP垃圾回收机制详解
2019/03/13 PHP
网页前台通过js非法字符过滤代码(骂人的话等等)
2010/05/26 Javascript
jquery ui resizable bug解决方法
2010/10/26 Javascript
跨浏览器通用、可重用的选项卡tab切换js代码
2011/09/20 Javascript
js中的屏蔽的使用示例
2013/07/30 Javascript
javascript对象的使用和属性操作示例详解
2014/03/02 Javascript
Javascript基础教程之比较操作符
2015/01/18 Javascript
JavaScript实现select添加option
2015/07/03 Javascript
纯JS实现本地图片预览的方法
2015/07/31 Javascript
简介AngularJS中$http服务的用法
2016/02/06 Javascript
jQuery常用知识点总结以及平时封装常用函数
2016/02/23 Javascript
jquery插件bootstrapValidator数据验证详解
2016/11/09 Javascript
微信小程序图片自适应支持多图实例详解
2017/06/21 Javascript
获取当前按钮或者html的ID名称实例(推荐)
2017/06/23 Javascript
JS与HTML结合实现流程进度展示条思路详解
2017/09/03 Javascript
微信小程序自定义组件实现tabs选项卡功能
2018/07/14 Javascript
python实现画一颗树和一片森林
2018/06/25 Python
Python常见数字运算操作实例小结
2019/03/22 Python
Python3如何在Windows和Linux上打包
2020/02/25 Python
TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
2020/04/19 Python
Python可以实现栈的结构吗
2020/05/27 Python
python 装饰器的使用示例
2020/10/10 Python
Python 多进程、多线程效率对比
2020/11/19 Python
Python Selenium库的基本使用教程
2021/01/04 Python
HTML5拖放API实现拖放排序的实例代码
2017/05/11 HTML / CSS
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
2015/11/18 面试题
iostream与iostream.h的区别
2015/01/16 面试题
承办会议欢迎词
2014/01/17 职场文书
服装行业创业计划书范文
2014/02/05 职场文书
《猴子种果树》教学反思
2014/04/26 职场文书
小组口号大全
2014/06/09 职场文书
职称评定个人总结
2015/03/05 职场文书
小学六年级班主任工作经验交流材料
2015/11/02 职场文书
2016会计专业自荐信范文
2016/01/28 职场文书
Golang的继承模拟实例
2021/06/30 Golang