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
php 格式化数字的时候注意数字的范围
Apr 13 PHP
php下mysql数据库操作类(改自discuz)
Jul 03 PHP
php通用防注入程序 推荐
Feb 26 PHP
php.ini中date.timezone设置分析
Jul 29 PHP
用PHP编写和读取XML的几种方式
Jan 12 PHP
UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
Dec 08 PHP
php+jquery+html实现点击不刷新加载更多的实例代码
Aug 12 PHP
php微信公众平台交互与接口详解
Nov 28 PHP
JS(jQuery)实现聊天接收到消息语言自动提醒功能详解【提示“您有新的消息请注意查收”】
Apr 16 PHP
YII框架实现自定义第三方扩展操作示例
Apr 26 PHP
Laravel Eloquent分表方法并使用模型关联的实现
Nov 25 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
zf框架的session会话周期及次数限制使用示例
2014/03/13 PHP
一个PHP的ZIP压缩类分享
2014/05/04 PHP
Javascript学习笔记二 之 变量
2010/12/15 Javascript
仿猪八戒网左下角的文字滚动效果
2011/10/28 Javascript
JavaScript利用正则表达式去除日期中的“-”
2014/07/01 Javascript
jQuery实现简单二级下拉菜单
2015/04/12 Javascript
Javascript中的几种继承方式对比分析
2016/03/22 Javascript
javascript实现的全国省市县无刷新多级关联菜单效果代码
2016/08/01 Javascript
js模拟微博发布消息
2017/02/23 Javascript
jQuery中hover方法搭配css的hover选择器,实现选中元素突出显示方法
2017/05/08 jQuery
微信小程序实现倒计时补零功能
2018/07/09 Javascript
Layui组件Table绑定行点击事件和获取行数据的方法
2018/08/19 Javascript
在小程序/mpvue中使用flyio发起网络请求的方法
2018/09/13 Javascript
npm scripts 使用指南详解
2018/10/08 Javascript
详解微信小程序工程化探索之webpack实战
2020/04/20 Javascript
JS 设计模式之:单例模式定义与实现方法浅析
2020/05/06 Javascript
ES6 Generator基本使用方法示例
2020/06/06 Javascript
[00:16]热血竞技场
2019/03/06 DOTA
Django中几种重定向方法
2015/04/28 Python
深入理解python try异常处理机制
2016/06/01 Python
Python实现简单过滤文本段的方法
2017/05/24 Python
使用paramiko远程执行命令、下发文件的实例
2017/10/01 Python
Python实现爬虫从网络上下载文档的实例代码
2018/06/13 Python
Python使用内置函数setattr设置对象的属性值
2020/10/16 Python
TensorFlow的环境配置与安装方法
2021/02/20 Python
一文读懂python Scrapy爬虫框架
2021/02/24 Python
酒店员工培训方案
2014/06/02 职场文书
治安消防安全责任书
2014/07/23 职场文书
购房公证委托书(2014版)
2014/09/12 职场文书
工作所在部门证明
2014/09/21 职场文书
大学生入党积极分子党校学习思想汇报
2014/10/25 职场文书
教师个人师德总结
2015/02/06 职场文书
内勤岗位职责范本
2015/04/13 职场文书
2015年工程师工作总结
2015/04/30 职场文书
债务追讨律师函
2015/06/24 职场文书
公司新员工欢迎词
2015/09/30 职场文书