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

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

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


代码如下:

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

(0)

相关推荐

  • php实现遍历目录并删除指定文件中指定内容

    现在正坐在安静的寝室里,寒假俨然已经离我而去了--今天发的是我寒假里搞的最后一次学习,之后的时间就一直在看海贼王了. 以前写过一个C语言的遍历目录+复制文件的程序,很长很复杂,现在用PHP一样可以实现遍历目录,而代码就短了不少.这个程序目的是遍历目录,找到所有指定文件名的文件,并删除其中指定的字符串. 复制代码 代码如下: <?php  //功能:删除指定目录(包括子目录)下所有指定文件中指定字符串 $tmpfiledir = $_SERVER["DOCUMENT_ROOT"].

  • PHP不用递归遍历目录下所有文件的代码

    实现代码: /** * PHP 非递归实现查询该目录下所有文件 * @param unknown $dir * @return multitype:|multitype:string */ function scanfiles($dir) { if (! is_dir ( $dir )) return array (); // 兼容各操作系统 $dir = rtrim ( str_replace ( '\\', '/', $dir ), '/' ) . '/'; // 栈,默认值为传入的目录 $

  • PHP遍历文件夹与文件类及处理类用法实例

    本文实例讲述了PHP遍历文件夹与文件类及处理类用法,非常具有实用价值.分享给大家供大家参考.具体方法如下: FindFile.class.php类文件用于遍历目录文件,具体代码如下: <?php /** 遍历文件夹及文件类 * Date: 2013-03-21 * Author: fdipzone * Ver: 1.0 */ class FindFile{ public $files = array(); // 存储遍历的文件 protected $maxdepth; // 搜寻深度,0表示没有

  • PHP使用glob函数遍历目录或文件夹的方法

    本文实例讲述了PHP使用glob函数遍历目录或文件夹的方法.分享给大家供大家参考.具体分析如下: 一说到php遍历目录我们很多朋友会想到是opendir与readdir,这样就可以遍历目录并显示文件,但在php中有一个更简洁的遍历目录的函数glob估计很少有人知道此函数,不过我觉得比起opendir与readdir要简单多了. PHP glob函数的使用:glob-寻找与模式匹配的文件路径. 例子,代码如下: 复制代码 代码如下: <?php $fileList=glob('*.*'); for

  • php遍历文件夹下的所有文件和子文件夹示例

    遍历目录,结果存入数组.支持php4及以上.php5以后可用scandir()函数代替while循环. 复制代码 代码如下: <?php/*** @param string $dir* @return array*/function my_scandir($dir){ $files = array(); if ( $handle = opendir($dir) ) {  while ( ($file = readdir($handle)) !== false )   {   if ( $file

  • php实现的遍历文件夹下所有文件,编辑删除

    复制代码 代码如下: <?php /* 遍历文件夹; 功能:(a)可删除文件 (b)可编辑文本,网页文件 (c)可删除文件夹,前提是该文件夹为空 (d)可建立文件,文件夹,修改文件夹名称; lost63.com原创, 转载请注明出处. 交流QQ:35501547 */ $path=$DOCUMENT_ROOT; $path=str_replace("/","\\",$path); //指定文件夹 $path=$path."\\"; if($

  • php遍历删除整个目录及文件的方法

    本文实例讲述了php遍历删除整个目录及文件的方法.分享给大家供大家参考.具体分析如下: 我们可以使用RecursiveDirectoryIterator 和 RecursiveIteratorIterator删除目录和子目录及文件,子目录将先与父目录删除 <?php function cleanup_directory($dir) { $iter = new RecursiveDirectoryIterator($dir); foreach (new RecursiveIteratorItera

  • php遍历文件夹和文件列表示例分享

    为PHP遍历目录和文件列表写了一个简单的类,并附上使用实例,大家参考使用吧 复制代码 代码如下: <?phpdefine('DS', DIRECTORY_SEPARATOR); class getDirFile{ //返回数组    private $DirArray  = array();    private $FileArray = array();    private $DirFileArray = array(); private $Handle,$Dir,$File; //获取目录

  • PHP使用内置dir类实现目录遍历删除

    本文实例讲述了PHP使用内置dir类实现目录遍历删除的方法.分享给大家供大家参考.具体实现方法如下: function clearDir($dir) { if (file_exists($dir)) { if(!is_dir($dir)) exit("{$dir}不是一个目录"); else { $dirObj = dir($dir); while ($file = $dirObj->read()) { if (is_dir($dir .'/'. $file) &&

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

    小编今天没事写了目录想关的函数  包括 遍历该文件夹下的文件,目录子目录  读取当前文件下目录和文件  删除当前文件夹下的目录子目录以及文件 以上三个函数目前还不支持中文文件 中文目录 复制代码 代码如下: <?phpheader("Content-type:text/html;charset=utf-8");/*** 读取当前目录下的文件和目录* * @param    string    $path    路径* @return    array    所有满足条件的文件*/

  • php目录遍历函数opendir用法实例

    本文实例讲述了php目录遍历函数opendir用法.分享给大家供大家参考.具体分析如下: opendir()函数的作用是:打开目录句柄,如果该函数成功运行,将返回一组目录流(一组目录字符串),如果失败将返回错误[error],你可以在函数的最前面加上"@"来隐藏错误. syntax语法:opendir(directory,context) parameter 参数:description 描述:directory required. specifies the directory to

  • 一个目录遍历函数

    一个目录遍历函数 <?php function dirtree($path="./test") {  echo "<dl>";  $d = dir($path);  while(false !== ($v = $d->read())) {    if($v == "." $v == "..")      continue;    $file = $d->path."/".$v;

  • Node.js本地文件操作之文件拷贝与目录遍历的方法

    文件拷贝 NodeJS 提供了基本的文件操作 API,但是像文件拷贝这种高级功能就没有提供,因此我们先拿文件拷贝程序练手.与 copy 命令类似,我们的程序需要能接受源文件路径与目标文件路径两个参数. 小文件拷贝 我们使用 NodeJS 内置的 fs 模块简单实现这个程序如下. var fs = require('fs'); function copy(src, dst) { fs.writeFileSync(dst, fs.readFileSync(src)); } function main

  • Python中字典及遍历常用函数的使用详解

    目录 字典中元素的个数计算 字典中的键名 加粗样式字典中的键值 字典的键名以及对应的键值 字典的遍历 方法一 方法二 字典中元素的个数计算 len(字典名) 举例: person={"姓名":"张三","年龄":20,"性别":"男"} print(len(person)) 输出: 3 字典中的键名 字典名.keys() 举例: person={"姓名":"张三",&

  • python中string模块各属性以及函数的用法介绍

    任何语言都离不开字符,那就会涉及对字符的操作,尤其是脚本语言更是频繁,不管是生产环境还是面试考验都要面对字符串的操作. python的字符串操作通过2部分的方法函数基本上就可以解决所有的字符串操作需求: • python的字符串属性函数 • python的string模块 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1.字符串属性函数  系统版本:CentOS release 6.2 (Final)2.6.32-220.

  • php递归遍历删除文件的方法

    本文实例讲述了php递归遍历删除文件的方法.分享给大家供大家参考.具体如下: 这个函数稍加修改就可以变成一个递归文件拷贝函数 <?php function mover($src,$dst) { $handle=opendir($src); // Opens source dir. if (!is_dir($dst)) mkdir($dst,0755); // Make dest dir. while ($file = readdir($handle)) { if (($file!=".&q

  • php实现统计目录文件大小的函数

    早上刚到公司,头告诉我,抓紧写一个小函数,用来统计指定目录中文件大小,我了个去,动手吧,还好有点小基础,一会就完工了,哈哈.代码在下面咯. <? /** 统计目录文件大小的函数 @author xfcode */ function dirsize($dir) { @$dh = opendir($dir); $size = 0; while ($file = @readdir($dh)) { if ($file != "." and $file != "..")

随机推荐