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中的Class的几点个人看法
Oct 09 PHP
PHP脚本数据库功能详解(上)
Oct 09 PHP
php页面跳转代码 输入网址跳转到你定义的页面
Mar 28 PHP
PHP curl伪造IP地址和header信息代码实例
Apr 27 PHP
php简单实现短网址(短链)还原的方法(测试可用)
May 09 PHP
Yii实现的多级联动下拉菜单
Jul 13 PHP
PHP读MYSQL中文乱码的快速解决方法
Oct 01 PHP
PHP 芝麻信用接入的注意事项
Dec 01 PHP
php实现的统计字数函数定义与使用示例
Jul 26 PHP
PHP基于curl post实现发送url及相关中文乱码问题解决方法
Nov 25 PHP
简单的php购物车代码
Jun 05 PHP
PHP dirname(__FILE__)原理及用法解析
Oct 28 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读取本地文件常用函数(fopen与file_get_contents)
2013/09/09 PHP
php 修改、增加xml结点属性的实现代码
2013/10/22 PHP
ThinkPHP的I方法使用详解
2014/06/18 PHP
js+php实现静态页面实时调用用户登陆状态的方法
2015/01/04 PHP
ThinkPHP连接Oracle数据库
2016/04/22 PHP
php实现的数组转xml案例分析
2019/09/28 PHP
style、 currentStyle、 runtimeStyle区别分析
2010/08/01 Javascript
扩展easyui.datagrid,添加数据loading遮罩效果代码
2010/11/02 Javascript
理解javascript中的原型和原型链
2015/07/30 Javascript
JavaScript函数柯里化详解
2016/04/29 Javascript
利用BootStrap弹出二级对话框的简单实现方法
2016/09/21 Javascript
JQuery和PHP结合实现动态进度条上传显示
2016/11/23 Javascript
js实现图片旋转 js滚动鼠标中间对图片放大缩小
2017/07/05 Javascript
jQuery插件DataTables分页开发心得体会
2017/08/22 jQuery
在vue中通过axios异步使用echarts的方法
2018/01/13 Javascript
微信小程序实现多选功能
2018/11/04 Javascript
浅谈bootstrap layer.open中end的使用方法
2019/09/12 Javascript
js中延迟加载和预加载的具体使用
2021/01/14 Javascript
[39:00]Optic vs VP 2018国际邀请赛淘汰赛BO3 第三场 8.24
2018/08/25 DOTA
Python爬虫框架Scrapy实战之批量抓取招聘信息
2015/08/07 Python
Python实现的基数排序算法原理与用法实例分析
2017/11/23 Python
200 行python 代码实现 2048 游戏
2018/01/12 Python
python之cv2与图像的载入、显示和保存实例
2018/12/05 Python
Django 配置多站点多域名的实现步骤
2019/05/17 Python
浅谈Python小波分析库Pywavelets的一点使用心得
2019/07/09 Python
opencv实现简单人脸识别
2021/02/19 Python
Python统计学一数据的概括性度量详解
2020/03/03 Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
2020/06/06 Python
俄罗斯宠物用品网上商店:ZooMag
2019/12/12 全球购物
常务副总经理任命书
2014/06/05 职场文书
俞敏洪一分钟演讲稿
2014/08/26 职场文书
带香烟到学校抽的检讨书
2014/09/25 职场文书
介绍信的格式
2015/01/30 职场文书
导游词300字
2015/02/13 职场文书
2016年会开场白台词
2015/06/01 职场文书
Hive HQL支持2种查询语句风格
2022/06/25 数据库