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 相关文章推荐
PHP 表单提交给自己
Jul 24 PHP
常用的php对象类型判断
Aug 27 PHP
PHP计算2点经纬度之间的距离代码
Aug 12 PHP
ThinkPHP之A方法实例讲解
Jun 20 PHP
php中explode函数用法分析
Nov 15 PHP
一个非常完美的读写ini格式的PHP配置类分享
Feb 12 PHP
PHP获取一段文本显示点阵宽度和高度的方法
Mar 12 PHP
php获取一定范围内取N个不重复的随机数
May 28 PHP
浅谈php中urlencode与rawurlencode的区别
Sep 05 PHP
php die()与exit()的区别实例详解
Dec 03 PHP
PHP Swoole异步MySQL客户端实现方法示例
Oct 24 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代码
2016/08/02 PHP
this和执行上下文实现代码
2010/07/01 Javascript
AJAX 网页保留浏览器前进后退等功能
2011/02/12 Javascript
十个迅速提升JQuery性能让你的JQuery跑得更快
2012/12/10 Javascript
中文路径导致unitpngfix.js不正常的解决方法
2013/06/26 Javascript
js读取注册表的键值示例
2013/09/25 Javascript
JS关闭窗口与JS关闭页面的几种方法小结
2013/12/17 Javascript
jquery实现经典的淡入淡出选项卡效果代码
2015/09/22 Javascript
JQuery DIV 动态隐藏和显示的方法
2016/06/23 Javascript
js 将图片连接转换成base64格式的简单实例
2016/08/10 Javascript
jQuery通过改变input的type属性实现密码显示隐藏切换功能
2017/02/08 Javascript
前端MVVM框架解析之双向绑定
2018/01/24 Javascript
微信小程序页面生命周期详解
2018/01/31 Javascript
angularjs1.5 组件内用函数向外传值的实例
2018/09/30 Javascript
详解如何构建Promise队列实现异步函数顺序执行
2018/10/23 Javascript
vue 全局环境切换问题
2019/10/27 Javascript
javascript设计模式 ? 适配器模式原理与应用实例分析
2020/04/13 Javascript
一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息
2018/04/17 Python
python使用参数对嵌套字典进行取值的方法
2019/04/26 Python
python3.7实现云之讯、聚合短信平台的短信发送功能
2019/09/26 Python
Python List列表对象内置方法实例详解
2019/10/22 Python
python3中for循环踩过的坑记录
2020/12/14 Python
前端隐藏出边界内容的实现方法
2016/04/14 HTML / CSS
师范应届生求职信
2013/11/15 职场文书
入党转预备思想汇报
2014/01/07 职场文书
研修第一天随笔感言
2014/02/15 职场文书
2015年元旦文艺汇演主持词
2014/03/26 职场文书
劳动竞赛口号
2014/06/16 职场文书
解除劳动合同协议书范本
2014/09/13 职场文书
2015年防汛工作总结
2015/05/15 职场文书
消防验收申请报告
2015/05/15 职场文书
酒桌上的祝酒词
2015/08/12 职场文书
《确定位置》教学反思
2016/02/18 职场文书
详解java如何集成swagger组件
2021/06/21 Java/Android
MySQL 5.7常见数据类型
2021/07/15 MySQL
python如何利用cv2.rectangle()绘制矩形框
2022/12/24 Python