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
浅析使用Turck-mmcache编译来加速、优化PHP代码
Jun 20 PHP
基于php和mysql的简单的dao类实现crud操作功能
Jan 27 PHP
yii的CURD操作实例详解
Dec 04 PHP
PHP+MySQL实现的简单投票系统实例
Feb 24 PHP
php同时使用session和cookie来保存用户登录信息的实现代码
May 13 PHP
php array_reverse 以相反的顺序返回数组实例代码
Apr 11 PHP
PHP实现微信图片上传到服务器的方法示例
Jun 29 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
Aug 09 PHP
php+redis消息队列实现抢购功能
Feb 08 PHP
YII分模块加载路由的实现方法
Oct 01 PHP
PHP使用PDO 连接与连接管理操作实例分析
Apr 21 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+mysql来做一个功能强大的在线计算器
2010/10/12 PHP
PHP常用技巧总结(附函数代码)
2012/02/04 PHP
解析使用substr截取UTF-8中文字符串出现乱码的问题
2013/06/20 PHP
PHP连接SQLServer2005方法及代码
2013/12/26 PHP
javascript的onchange事件与jQuery的change()方法比较
2009/09/28 Javascript
学习ExtJS TextField常用方法
2009/10/07 Javascript
让iframe子窗体取父窗体地址栏参数(querystring)
2009/10/13 Javascript
js获取某月的最后一天日期的简单实例
2013/06/22 Javascript
解析prototype,JQuery中跳出each循环的方法
2013/12/12 Javascript
javascript与有限状态机详解
2014/05/08 Javascript
Web表单提交之disabled问题js解决方法
2015/01/13 Javascript
jquery采用oop模式class类的使用示例
2016/01/22 Javascript
JavaScript学习笔记整理_用于模式匹配的String方法
2016/09/19 Javascript
React-Native 组件之 Modal的使用详解
2017/08/08 Javascript
JavaScript插件Tab选项卡效果
2017/11/14 Javascript
js 判断一个数字是不是2的n次方幂的实例
2017/11/26 Javascript
webpack proxy 使用(代理的使用)
2020/01/10 Javascript
[38:51]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-CDEC
2014/05/22 DOTA
[50:02]完美世界DOTA2联赛PWL S2 Magma vs FTD 第三场 11.29
2020/12/03 DOTA
Python随机生成带特殊字符的密码
2016/03/02 Python
django开发教程之利用缓存文件进行页面缓存的方法
2017/11/10 Python
遗传算法python版
2018/03/19 Python
Python List列表对象内置方法实例详解
2019/10/22 Python
利用Python绘制Jazz网络图的例子
2019/11/21 Python
Python列表切片常用操作实例解析
2020/03/10 Python
全球航班旅行搜索网站:Cheapflights
2017/05/19 全球购物
REN Clean Skincare官网:英国本土有机护肤品牌
2019/02/23 全球购物
英国工作场所设备购买网站:Slingsby
2019/05/03 全球购物
秋季运动会加油稿200字
2014/01/11 职场文书
护士的自我鉴定
2014/02/07 职场文书
安全例会汇报材料
2014/08/23 职场文书
2015年初中元旦晚会活动总结
2014/11/28 职场文书
学生上课迟到检讨书
2015/01/01 职场文书
军训通讯稿范文
2015/07/18 职场文书
js之ajax文件上传
2021/05/13 Javascript
利用Java设置Word文本框中的文字旋转方向的实现方法
2021/06/28 Java/Android