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 相关文章推荐
编译问题
Oct 09 PHP
BBS(php &amp; mysql)完整版(七)
Oct 09 PHP
windows下zendframework项目环境搭建(通过命令行配置)
Dec 06 PHP
PHP 自定义错误处理函数的使用详解
May 10 PHP
解析获取优酷视频真实下载地址的PHP源代码
Jun 26 PHP
php上传文件,创建递归目录的实例代码
Oct 18 PHP
回帖脱衣服的图片实现代码
Feb 15 PHP
php将文本文件转换csv输出的方法
Dec 31 PHP
PHP获取一年中每个星期的开始和结束日期的方法
Feb 12 PHP
PHP工厂模式、单例模式与注册树模式实例详解
Jun 03 PHP
php常用日期时间函数实例小结
Jul 04 PHP
laravel框架如何设置公共头和公共尾
Oct 22 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
TMDPHP 模板引擎使用教程
2012/03/13 PHP
php数字游戏 计算24算法
2012/06/10 PHP
解析使用substr截取UTF-8中文字符串出现乱码的问题
2013/06/20 PHP
深入剖析PHP中printf()函数格式化使用
2016/05/23 PHP
js禁止回车提交表单的示例代码
2013/12/23 Javascript
js实现漂浮回顶部按钮实例
2015/05/06 Javascript
jQuery插件expander实现图片翻转特效
2015/05/21 Javascript
jquery插件NProgress.js制作网页加载进度条
2015/06/05 Javascript
Nodejs下用submit提交表单提示cannot post错误的解决方法
2016/11/21 NodeJs
微信小程序 textarea 详解及简单使用方法
2016/12/05 Javascript
JavaScript中捕获/阻止捕获、冒泡/阻止冒泡方法
2016/12/07 Javascript
JS获取鼠标位置距浏览器窗口距离的方法示例
2017/04/11 Javascript
解决IE7中使用jQuery动态操作name问题
2017/08/28 jQuery
jQuery实现的两种简单弹窗效果示例
2018/04/18 jQuery
nodejs 使用http进行post或get请求的实例(携带cookie)
2019/01/03 NodeJs
浅谈redux, koa, express 中间件实现对比解析
2019/05/23 Javascript
解决vue字符串换行问题(绝对管用)
2020/08/06 Javascript
Python实现字典依据value排序
2016/02/24 Python
PyQt5实现五子棋游戏(人机对弈)
2020/03/24 Python
django中账号密码验证登陆功能的实现方法
2019/07/15 Python
pytorch实现mnist数据集的图像可视化及保存
2020/01/14 Python
定义css设备类型-Media Queries图表简介及使用方法
2013/01/21 HTML / CSS
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
北美最大的参茸药食商城:德成行
2020/12/06 全球购物
Tomcat Mysql datasource数据源配置
2015/12/28 面试题
四好少年事迹材料
2014/01/12 职场文书
应届生求职信范文
2014/06/30 职场文书
商铺门面租房协议书
2014/10/21 职场文书
2014年班组长工作总结
2014/11/20 职场文书
离婚协议书范文2014(夫妻感情破裂)
2014/12/14 职场文书
行政人事专员岗位职责
2015/04/07 职场文书
房地产项目合作意向书
2015/05/08 职场文书
表彰大会新闻稿
2015/07/17 职场文书
优质护理心得体会
2016/01/22 职场文书
原生JS实现飞机大战小游戏
2021/06/09 Javascript
postgresql如何找到表中重复数据的行并删除
2023/05/08 MySQL