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 ss7.5的数据调用 (笔记)
Mar 08 PHP
php导出excel格式数据问题
Mar 11 PHP
ThinkPHP验证码和分页实例教程
Aug 22 PHP
在Mac上编译安装PHP7的开发环境
Jul 28 PHP
laravel中的错误与日志用法详解
Jul 26 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
Nov 14 PHP
laravel 5.4 + vue + vux + element的环境搭配过程介绍
Apr 26 PHP
PHP实现打包zip并下载功能
Jun 12 PHP
yii2 url重写并隐藏index.php方法
Dec 10 PHP
PHP从零开始打造自己的MVC框架之路由类实现方法分析
Jun 03 PHP
PHP实现简单注册登录系统
Dec 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
6种php上传图片重命名的方法实例
2013/11/04 PHP
php自定义函数实现二维数组按指定key排序的方法
2016/09/29 PHP
PHP提取字符串中的手机号正则表达式怎么写
2017/07/17 PHP
利用php获得flv视频长度的实例代码
2017/10/26 PHP
JavaScript实现复制功能各浏览器支持情况实测
2013/07/18 Javascript
jQuery中ajax的load()方法用法实例
2014/12/26 Javascript
原生js与jQuery实现简单的tab切换特效对比
2015/07/30 Javascript
Bootstrap前端开发案例二
2016/06/17 Javascript
JS 拦截全局ajax请求实例解析
2016/11/29 Javascript
jquery实现多次上传同一张图片
2017/01/09 Javascript
jquery easyui DataGrid简单示例
2017/01/23 Javascript
jquery uploadify隐藏上传进度的实现方法
2017/02/06 Javascript
JavaScript变量声明var,let.const及区别浅析
2018/04/23 Javascript
解决angular2在双向数据绑定时[(ngModel)]无法使用的问题
2018/09/13 Javascript
Vuex的基本概念、项目搭建以及入坑点
2018/11/04 Javascript
vue实现鼠标移过出现下拉二级菜单功能
2019/12/12 Javascript
JavaScript实现字符串与HTML格式相互转换
2020/03/17 Javascript
Vue 打包的静态文件不能直接运行的原因及解决办法
2020/11/19 Vue.js
python基于隐马尔可夫模型实现中文拼音输入
2016/04/01 Python
Python的“二维”字典 (two-dimension dictionary)定义与实现方法
2016/04/27 Python
批量将ppt转换为pdf的Python代码 只要27行!
2018/02/26 Python
tensorflow 自定义损失函数示例代码
2020/02/05 Python
python爬虫基础知识点整理
2020/06/02 Python
通过实例解析python创建进程常用方法
2020/06/19 Python
Python如何截图保存的三种方法(小结)
2020/09/01 Python
世界上获奖最多的手机镜头:Olloclip
2018/03/03 全球购物
介绍一下JMS编程步骤
2015/09/22 面试题
幼师专业求职推荐信
2013/11/08 职场文书
暑假社会实践心得体会
2014/09/02 职场文书
运动会广播稿200米(5篇)
2014/10/15 职场文书
婚礼父母答谢词
2015/01/04 职场文书
乒乓球比赛通知
2015/04/27 职场文书
永不妥协观后感
2015/06/10 职场文书
小学生安全教育主题班会
2015/08/12 职场文书
Python爬虫基础之简单说一下scrapy的框架结构
2021/06/26 Python
uniapp引入支付宝原生扫码插件步骤详解
2022/07/23 Javascript