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 curl模拟浏览器采集阿里巴巴的实现代码
Apr 20 PHP
30 个很棒的PHP开源CMS内容管理系统小结
Oct 14 PHP
php 文本文件的读取效率
Feb 10 PHP
『PHP』PHP截断函数mb_substr()使用介绍
Apr 22 PHP
php中生成随机密码的自定义函数代码
Oct 21 PHP
CI框架装载器Loader.php源码分析
Nov 04 PHP
php+mysqli批量查询多张表数据的方法
Jan 29 PHP
php微信开发接入
Aug 27 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
Oct 17 PHP
PHP设置Cookie的HTTPONLY属性方法
Feb 09 PHP
PHP实现Unicode编码相互转换的方法示例
Nov 17 PHP
PHP实现随机发放扑克牌
Apr 21 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 开发工具
2006/12/06 PHP
让PHP支持页面回退的两种方法[转]
2007/02/14 PHP
让PHP支持断点续传的源码
2010/05/16 PHP
php生成固定长度纯数字编码的方法
2015/07/09 PHP
php生成图片验证码的实例讲解
2015/08/03 PHP
laravel 实现根据字段不同值做不同查询
2019/10/23 PHP
js word表格动态添加代码
2010/06/07 Javascript
jQuery+CSS 实现随滚动条增减的汽水瓶中的液体效果
2011/09/26 Javascript
js模拟滚动条(横向竖向)
2013/02/22 Javascript
JQuery处理json与ajax返回JSON实例代码
2014/01/03 Javascript
淘宝网提供的国内NPM镜像简介和使用方法
2014/04/17 Javascript
跟我学习javascript的执行上下文
2015/11/18 Javascript
微信小程序如何像vue一样在动态绑定类名
2018/04/17 Javascript
使用post方法实现json往返传输数据的方法
2019/03/30 Javascript
jQuery实现的点击显示隐藏下拉菜单功能完整示例
2019/05/17 jQuery
vue-router之实现导航切换过渡动画效果
2019/10/31 Javascript
JS函数进阶之继承用法实例分析
2020/01/15 Javascript
vue.js实现照片放大功能
2020/06/23 Javascript
[02:52]DOTA2新手基础教程 米波
2014/01/21 DOTA
利用Python中unittest实现简单的单元测试实例详解
2017/01/09 Python
python使用 HTMLTestRunner.py生成测试报告
2017/10/20 Python
python正则表达式爬取猫眼电影top100
2018/02/24 Python
Python 使用with上下文实现计时功能
2018/03/09 Python
python matplotlib库绘制条形图练习题
2019/08/10 Python
Python tkinter常用操作代码实例
2020/01/03 Python
基于CSS3制作立体效果导航菜单
2016/01/12 HTML / CSS
Linux管理员面试题 Linux admin interview questions
2014/11/01 面试题
求职者简历中的自我评价
2013/10/20 职场文书
《最后的姿势》教学反思
2014/02/27 职场文书
大学生党员学习焦裕禄精神思想汇报
2014/09/10 职场文书
2014年法院工作总结
2014/11/24 职场文书
高中班主任评语
2014/12/30 职场文书
2015年万圣节活动总结
2015/03/24 职场文书
傅雷家书读书笔记
2015/06/29 职场文书
Python音乐爬虫完美绕过反爬
2021/08/30 Python
JavaScript展开运算符和剩余运算符的区别详解
2022/02/18 Javascript