php 目录遍历、删除 函数的使用介绍

 更新时间:2013年04月28日 14:56:27   作者:  
本篇文章介绍了,php 目录遍历、删除 函数的使用分析。需要的朋友参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

小编今天没事写了目录想关的函数 

   包括 遍历该文件夹下的文件,目录子目录  读取当前文件下目录和文件  删除当前文件夹下的目录子目录以及文件 以上三个函数目前还不支持中文文件 中文目录

复制代码 代码如下:

<?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);
}
?>

相关文章

  • getJSON跨域SyntaxError问题分析

    getJSON跨域SyntaxError问题分析

    这篇文章主要介绍了getJSON跨域SyntaxError问题分析,需要的朋友可以参考下
    2014-08-08
  • PHP扩展CURL的用法详解

    PHP扩展CURL的用法详解

    CURL是利用URL语法爱命令行方式下工作的文件传输工具。它支持很多协议。它支持认证功能。php中常用都实现更复杂的传输功能。
    2014-06-06
  • PHP单链表的实现代码

    PHP单链表的实现代码

    单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。接下来通过本文给大家分享php单链表的实现代码,非常不错,具有参考借鉴价值,感兴趣的朋友一起看下吧
    2016-07-07
  • PHP+Ajax无刷新带进度条图片上传示例

    PHP+Ajax无刷新带进度条图片上传示例

    本篇文章主要介绍了PHP+Ajax无刷新带进度条图片上传示例,详细的整理PHP无刷新上传图片,并且要带进度条的代码,有需要的可以了解一下。
    2017-02-02
  • 浅谈laravel orm 中的一对多关系 hasMany

    浅谈laravel orm 中的一对多关系 hasMany

    今天小编就为大家分享一篇浅谈laravel orm 中的一对多关系 hasMany,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • 谈谈 PHP7新增功能

    谈谈 PHP7新增功能

    php7发布已有半月,最近有时间了解一下php7的新特性,当然,这个版本最大的特点是性能的提升,对php7 新增功能的相关知识感兴趣的朋友一起学习吧
    2015-12-12
  • thinkphp利用模型通用数据编辑添加和删除的实例代码

    thinkphp利用模型通用数据编辑添加和删除的实例代码

    下面小编就为大家带来一篇thinkphp利用模型通用数据编辑添加和删除的实例代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • thinkPHP模板引擎用法示例

    thinkPHP模板引擎用法示例

    这篇文章主要介绍了thinkPHP模板引擎用法,结合实例形式分析了thinkPHP模板的基本原理与相关使用技巧,需要的朋友可以参考下
    2016-12-12
  • laravel 实现阿里云oss文件上传功能的示例

    laravel 实现阿里云oss文件上传功能的示例

    这篇文章主要介绍了laravel 实现阿里云oss文件上传功能,本文通过示例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • yii去掉必填项中星号的方法

    yii去掉必填项中星号的方法

    这篇文章主要介绍了yii去掉必填项中星号的方法,实例分析了Yii中去除必填项中星号的原理与具体实现技巧,需要的朋友可以参考下
    2015-12-12

最新评论

?


http://www.vxiaotou.com