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

2015-01-24信息快讯网

这篇文章主要介绍了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 != ".." && $file != "." ) 
   {
    if ( is_dir($dir . "/" . $file) ) 
    {
     $files[$file] = my_scandir($dir . "/" . $file);
    }
    else 
    {
     $files[] = $file;
    }
   }
  }
  closedir($handle);
  return $files;
 }
}

function my_scandir1($dir) { $files = array(); $dir_list = scandir($dir); foreach($dir_list as $file) { if ( $file != ".." && $file != "." ) { if ( is_dir($dir . "/" . $file) ) { $files[$file] = my_scandir1($dir . "/" . $file); } else { $files[] = $file; } } } return $files; }

$result = my_scandir('./'); $result = my_scandir1('./'); ?>

另一个实现方法

function fetchDir($dir) { 
        foreach(glob($dir.'\*') as $file) { 
            echo $file,"\n"; 
            if(is_dir($file)) { 
                fetchDir($file); 
            } 
        } 
    } 
    fetchDir("D:\wamp\www\any"); 

还可以把‘\*', 换成 DIRECTORY_SEPARATOR.'*' ,把‘\n'换成PHP_EOL ,这样可以跨平台了。

ThinkPHP中ajax使用实例教程
ThinkPHP中的常用查询语言汇总
ThinkPHP多语言支持与多模板支持概述
ThinkPHP中的三大自动简介
PHP实现克鲁斯卡尔算法实例解析
PHP实现ftp上传文件示例
PHP文件缓存内容保存格式实例分析
图解找出PHP配置文件php.ini的路径的方法
PHP采用自定义函数实现遍历目录下所有文件的方法
php实现文件下载代码分享
php的mkdir()函数创建文件夹比较安全的权限设置方法
PHP数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)
php遍历数组的4种方法总结
CodeIgniter实现更改view文件夹路径的方法
PHP不用递归遍历目录下所有文件的代码
PHP中多维数组的foreach遍历示例
CI框架中libraries,helpers,hooks文件夹详细说明
PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
php中的静态变量的基本用法
php数据库备份还原类分享
PHP实现微信公众平台音乐点播
一个PHP针对数字的加密解密类
php的array数组和使用实例简明教程(容易理解)
PHP引用(&)各种使用方法实例详解
php读取目录所有文件信息dir示例
PHP读取文件内容后清空文件示例代码
PHP处理SQL脚本文件导入到MySQL的代码实例
php遍历文件夹和文件列表示例分享
php获取文件夹路径内的图片以及分页显示示例
php 创建以UNIX时间戳命名的文件夹(示例代码)
php 生成自动创建文件夹并上传文件的示例代码
php无限遍历文件夹示例分享
php无限遍历目录示例
PHP遍历并打印指定目录下所有文件实例
php遍历目录输出目录及其下的所有文件示例
©2014-2024 dbsqp.com