php列出一个目录下的所有文件的代码


Posted in PHP onOctober 09, 2012
<?php 
function dir_path($path) { 
$path = str_replace('\\', '/', $path); 
if (substr($path, -1) != '/') $path = $path . '/'; 
return $path; 
} 
/** 
* 列出目录下的所有文件 
* 
* @param str $path 目录 
* @param str $exts 后缀 
* @param array $list 路径数组 
* @return array 返回路径数组 
*/ 
function dir_list($path, $exts = '', $list = array()) { 
$path = dir_path($path); 
$files = glob($path . '*'); 
foreach($files as $v) { 
if (!$exts || preg_match("/\.($exts)/i", $v)) { 
$list[] = $v; 
if (is_dir($v)) { 
$list = dir_list($v, $exts, $list); 
} 
} 
} 
return $list; 
} 
?>

使用方法:
<?php 
$r = dir_list('dir'); 
printf("<p>输出数据为:</p><pre>%s</pre>\n", var_export($r , true)); 
?>

PHP函数-用来列出目录下所有文件2

采用PHP编写的函数,用来列出指定目录下的所有的文件。
函数后面带有一个使用的示例代码。
注意:如果页面是utf-8的,在window中文版本的系统中,读取中文的文件名的时候会出现乱码。

<?php 
/* 函数 listDirTree( $dirName = null ) 
** 功能 列出目录下所有文件及子目录 
** 参数 $dirName 目录名称 
** 返回 目录结构数组 false为失败 
*/ 
function listDirTree( $dirName = null ) 
{ 
if( empty( $dirName ) ) 
exit( "IBFileSystem: directory is empty." ); 
if( is_dir( $dirName ) ) 
{ 
if( $dh = opendir( $dirName ) ) 
{ 
$tree = array(); 
while( ( $file = readdir( $dh ) ) !== false ) 
{ 
if( $file != "." && $file != ".." ) 
{ 
$filePath = $dirName . "/" . $file; 
if( is_dir( $filePath ) ) //为目录,递归 
{ 
$tree[$file] = listDirTree( $filePath ); 
} 
else //为文件,添加到当前数组 
{ 
$tree[] = $file; 
} 
} 
} 
closedir( $dh ); 
} 
else 
{ 
exit( "IBFileSystem: can not open directory $dirName."); 
} 
//返回当前的$tree 
return $tree; 
} 
else 
{ 
exit( "IBFileSystem: $dirName is not a directory."); 
} 
} 
$files = listDirTree("."); 
//print_r($files); 
$size = count(files); 
//以下代码是创建一个本目录下文件的列表(带有链接地址) 
echo '<ol>'; 
for( $i=0; $files[$i] != NULL; $i++ ) { 
echo '<li><a href="'.($files[$i]).'" target="_blank">'.$files[$i].'</a></li>'; 
} 
echo '</ol>'; 
?>
PHP 相关文章推荐
PHP的FTP学习(二)[转自奥索]
Oct 09 PHP
phpmyadmin 访问被拒绝的真实原因
Jun 15 PHP
PHP 实现多服务器共享 SESSION 数据
Aug 15 PHP
php 文件夹删除、php清除缓存程序
Aug 25 PHP
解析php DOMElement 操作xml 文档的实现代码
May 10 PHP
Server.HTMLEncode让代码在页面里显示为源代码
Dec 08 PHP
destoon找回管理员密码的方法
Jun 21 PHP
php图片处理函数获取类型及扩展名实例
Nov 19 PHP
理解PHP中的Session及对Session有效期的控制
Jan 08 PHP
PHP实现动态执行代码的方法
Mar 25 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
Jun 13 PHP
laravel5.6框架操作数据curd写法(查询构建器)实例分析
Jan 26 PHP
解析百度搜索结果link?url=参数分析 (全)
Oct 09 #PHP
仿Aspnetpager的一个PHP分页类代码 附源码下载
Oct 08 #PHP
php随机输出名人名言的代码
Oct 07 #PHP
PHP面向对象学习笔记之二 生成对象的设计模式
Oct 06 #PHP
PHP面向对象学习笔记之一 基础概念
Oct 06 #PHP
php生成局部唯一识别码LUID的代码
Oct 06 #PHP
PHP实现提取一个图像文件并在浏览器上显示的代码
Oct 06 #PHP
You might like
PHP中each与list用法分析
2016/01/08 PHP
thinkphp框架实现数据添加和显示功能
2016/06/29 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
2019/05/09 PHP
Javascript的IE和Firefox兼容性汇编(zz)
2007/02/02 Javascript
jquery下利用jsonp跨域访问实现方法
2010/07/29 Javascript
jquery获取被勾选的checked(选中)的那一行的3列和4列的值
2013/07/04 Javascript
jquery实现邮箱自动补全功能示例分享
2014/02/17 Javascript
JavaScript格式化日期时间的方法和自定义格式化函数示例
2014/04/04 Javascript
JavaScript操作表单实例讲解(上)
2016/06/20 Javascript
文件上传插件SWFUpload的使用指南
2016/11/29 Javascript
使用微信内嵌H5网页解决JS倒计时失效问题
2017/01/13 Javascript
vue实现动态添加数据滚动条自动滚动到底部的示例代码
2018/07/06 Javascript
JS实现li标签的删除
2019/04/12 Javascript
vue-router两种模式区别及使用注意事项详解
2019/08/01 Javascript
koa中间件核心(koa-compose)源码解读分析
2020/06/15 Javascript
[44:39]2014 DOTA2国际邀请赛中国区预选赛 NE VS CNB
2014/05/21 DOTA
[48:21]Mski vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
python 从远程服务器下载东西的代码
2013/02/10 Python
python解析模块(ConfigParser)使用方法
2013/12/10 Python
Python中pip安装非PyPI官网第三方库的方法
2015/06/02 Python
Python中functools模块的常用函数解析
2016/06/30 Python
python替换字符串中的子串图文步骤
2019/06/19 Python
python模块hashlib(加密服务)知识点讲解
2019/11/25 Python
如何将json数据转换为python数据
2020/09/04 Python
python 实现关联规则算法Apriori的示例
2020/09/30 Python
Python如何利用Har文件进行遍历指定字典替换提交的数据详解
2020/11/05 Python
伦敦哈德森鞋:Hudson Shoes
2018/02/06 全球购物
英国一家集合了众多有才华设计师品牌的奢侈店:Wolf & Badger
2018/04/18 全球购物
新锐科技Java程序员面试题
2016/07/25 面试题
护士实习鉴定范文
2013/12/22 职场文书
护士演讲稿优秀范文
2014/04/30 职场文书
社区志愿者培训方案
2014/06/10 职场文书
行政专员岗位职责说明书
2014/09/01 职场文书
2014年社区卫生工作总结
2014/12/18 职场文书
琅琊山导游词
2015/02/05 职场文书
2015年超市工作总结
2015/04/09 职场文书