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 相关文章推荐
对盗链说再见...
Oct 09 PHP
PHP伪静态写法附代码
Jun 20 PHP
php date与gmdate的获取日期的区别
Feb 08 PHP
破解图片防盗链的代码(asp/php)测试通过
Jul 02 PHP
php 归并排序 数组交集
May 10 PHP
PHP中设置时区方法小结
Jun 03 PHP
Codeigniter框架的更新事务(transaction)BUG及解决方法
Jul 25 PHP
PHP实现绘制3D扇形统计图及图片缩放实例
Oct 01 PHP
PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法
Sep 13 PHP
详细解读php的命名空间(一)
Feb 21 PHP
详解PHP 7.4 中数组延展操作符语法知识点
Jul 19 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 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(3) php 函数
2010/02/15 PHP
PHP及Zend Engine的线程安全模型分析
2011/11/10 PHP
PHP 自定义错误处理函数的使用详解
2013/05/10 PHP
Thinkphp5行为使用方法汇总
2017/12/21 PHP
用javascript实现在小方框中浏览大图的代码
2007/08/14 Javascript
改进UCHOME的记录发布,增强可访问性用户体验
2011/01/17 Javascript
基于jQuery实现仿QQ空间送礼物功能代码
2016/05/24 Javascript
JavaScript 数组- Array的方法总结(推荐)
2016/07/21 Javascript
React Native使用百度Echarts显示图表的示例代码
2017/11/07 Javascript
jQuery NProgress.js加载进度插件的简单使用方法
2018/01/31 jQuery
如何去除富文本中的html标签及vue、react、微信小程序中的过滤器
2018/11/21 Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
2019/02/13 Javascript
微信小程序wx.navigateTo方法里的events参数使用详情及场景
2020/01/07 Javascript
[02:54]DOTA2英雄基础教程 暗影牧师戴泽
2013/12/05 DOTA
[45:25]完美世界DOTA2联赛循环赛 PXG vs IO 第一场 11.06
2020/11/09 DOTA
python 性能优化方法小结
2017/03/31 Python
python九九乘法表的实例
2017/09/26 Python
Python内置模块turtle绘图详解
2017/12/09 Python
python获取网页中所有图片并筛选指定分辨率的方法
2018/03/31 Python
Python使用Pickle库实现读写序列操作示例
2018/06/15 Python
使用Python横向合并excel文件的实例
2018/12/11 Python
python连接、操作mongodb数据库的方法实例详解
2019/09/11 Python
解决python3插入mysql时内容带有引号的问题
2020/03/02 Python
python实现提取COCO,VOC数据集中特定的类
2020/03/10 Python
获取CSDN文章内容并转换为markdown文本的python
2020/09/06 Python
乌克兰排名第一的在线旅游超市:Farvater.Travel
2020/01/02 全球购物
为数据库创建索引都需要注意些什么
2012/07/17 面试题
深圳茁壮笔试题
2015/05/28 面试题
竞选村长演讲稿
2014/04/28 职场文书
计算机网络专业自荐书
2014/06/09 职场文书
升学宴学生答谢词
2015/01/05 职场文书
公司年夜饭通知
2015/04/25 职场文书
公务员廉洁从政心得体会
2016/01/19 职场文书
nginx反向代理配置去除前缀案例教程
2021/07/26 Servers
Java获取e.printStackTrace()打印的信息方式
2021/08/07 Java/Android
MySQL添加索引特点及优化问题
2022/07/23 MySQL