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.ini中文版(2)
Oct 09 PHP
PHP 和 MySQL 基础教程(一)
Oct 09 PHP
php smarty模版引擎中变量操作符及使用方法
Dec 11 PHP
PHP常用函数和常见疑难问题解答
Mar 05 PHP
浅谈PDO的rowCount函数
Jun 18 PHP
54个提高PHP程序运行效率的方法
Jul 19 PHP
PHP Yii框架之表单验证规则大全
Nov 16 PHP
PHP url的pathinfo模式加载不同控制器的简单实现
Aug 12 PHP
PHP类的特性实例分析
Sep 28 PHP
PHP实现的同步推荐操作API接口案例分析
Nov 30 PHP
万能的php分页类
Jul 06 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
Oct 01 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
将RTF格式的文件转成HTML并在网页中显示的代码
2006/10/09 PHP
PHP获取文件夹内文件数的方法
2015/03/12 PHP
关于扩展 Laravel 默认 Session 中间件导致的 Session 写入失效问题分析
2016/01/08 PHP
php版微信小店调用api示例代码
2016/11/12 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
php字符串过滤strip_tags()函数用法实例分析
2019/06/24 PHP
在Laravel 中实现是否关注的示例
2019/10/22 PHP
基于jquery实现状态限定编辑的代码
2012/02/11 Javascript
JS 获取浏览器和屏幕宽高等信息代码
2014/03/31 Javascript
jquery $.trim()方法使用介绍
2014/05/21 Javascript
jquery仿搜索自动联想功能代码
2014/05/23 Javascript
jQuery多级弹出菜单插件ZoneMenu
2014/12/18 Javascript
JQuery实现的购物车功能(可以减少或者添加商品并自动计算价格)
2015/01/13 Javascript
浅谈Javascript中Object与Function对象
2015/09/26 Javascript
AngularJS 面试题集锦
2016/09/06 Javascript
原生js实现键盘控制div移动且解决停顿问题
2016/12/05 Javascript
微信小程序 request接口的封装实例代码
2017/04/26 Javascript
laydate 显示结束时间不小于开始时间的实例
2017/08/11 Javascript
原生JS实现日历组件的示例代码
2017/09/22 Javascript
mpvue小程序仿qq左滑置顶删除组件
2018/08/03 Javascript
es6基础学习之解构赋值
2018/12/10 Javascript
Python SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)
2014/05/06 Python
对Python中DataFrame按照行遍历的方法
2018/04/08 Python
tensorflow使用神经网络实现mnist分类
2018/09/08 Python
初探利用Python进行图文识别(OCR)
2019/02/26 Python
基于python3抓取pinpoint应用信息入库
2020/01/08 Python
在python中使用pyspark读写Hive数据操作
2020/06/06 Python
日本AOKI官方商城:AOKI西装
2020/06/11 全球购物
安全生产中长期规划实施方案
2014/02/21 职场文书
医院标语大全
2014/06/23 职场文书
解除劳动合同协议书(样本)
2014/10/02 职场文书
2014小学语文教师个人工作总结
2014/12/03 职场文书
爱心募捐感谢信
2015/01/22 职场文书
结婚保证书(三从四德)
2015/02/26 职场文书
应届生简历自我评价
2015/03/11 职场文书
golang生成vcf通讯录格式文件详情
2022/03/25 Golang