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网站在线人数统计
Apr 09 PHP
thinkPHP的Html模板标签使用方法
Nov 13 PHP
windows下zendframework项目环境搭建(通过命令行配置)
Dec 06 PHP
php setcookie(name, value, expires, path, domain, secure) 参数详解
Jun 28 PHP
phpmailer中文乱码问题的解决方法
Apr 22 PHP
PHP的命令行命令使用指南
Aug 18 PHP
PHP实现伪静态方法汇总
Jan 13 PHP
Zend Framework实现多文件上传功能实例
Mar 21 PHP
PHP不使用递归的无限级分类简单实例
Nov 05 PHP
解决php-fpm.service not found问题的办法
Jun 06 PHP
Laravel5.5新特性之友好报错以及展示详解
Aug 13 PHP
Yii支持多域名cors原理的实现
Dec 05 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 XML error parsing SOAP payload on line 1
2010/06/17 PHP
PHP 数据结构 算法 三元组 Triplet
2011/07/02 PHP
为JavaScript提供睡眠功能(sleep) 自编译JS引擎
2010/08/16 Javascript
JavaScript聚焦于第一个字段的代码
2010/10/15 Javascript
js字符串日期yyyy-MM-dd转化为date示例代码
2014/03/06 Javascript
Vue2.0表单校验组件vee-validate的使用详解
2017/05/02 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
2017/08/17 Javascript
详解vue-meta如何让你更优雅的管理头部标签
2018/01/18 Javascript
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
2018/04/28 Javascript
几个你不知道的技巧助你写出更优雅的vue.js代码
2018/06/11 Javascript
express express-session的使用小结
2018/12/12 Javascript
使用Angular自定义字段校验指令的方法示例
2019/02/01 Javascript
小试小程序云开发(小结)
2019/06/06 Javascript
浅谈vue异步数据影响页面渲染
2019/10/29 Javascript
JS 事件机制完整示例分析
2020/01/15 Javascript
jQuery+Ajax+js实现请求json格式数据并渲染到html页面操作示例
2020/06/02 jQuery
基于 Vue 的 Electron 项目搭建过程图文详解
2020/07/22 Javascript
[54:58]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第一场 11.25
2020/11/25 DOTA
Python实现全局变量的两个解决方法
2014/07/03 Python
Python中if __name__ == &quot;__main__&quot;详细解释
2014/10/21 Python
python中的break、continue、exit()、pass全面解析
2017/08/05 Python
Python自定义简单图轴简单实例
2018/01/08 Python
Python内置模块logging用法实例分析
2018/02/12 Python
python监控进程状态,记录重启时间及进程号的实例
2019/07/15 Python
在pycharm中配置Anaconda以及pip源配置详解
2019/09/09 Python
python 字典有序并写入json文件过程解析
2019/09/30 Python
pip 安装库比较慢的解决方法(国内镜像)
2019/10/06 Python
详解Python修复遥感影像条带的两种方式
2020/02/23 Python
Python爬取酷狗MP3音频的步骤
2021/02/26 Python
什么是ARP(Address Resolution Protocol)地址解析协议
2013/10/31 面试题
护士求职信范文
2014/05/24 职场文书
作文评语集锦
2014/12/25 职场文书
先进人物事迹材料
2014/12/29 职场文书
2015年幼儿园卫生保健工作总结
2015/05/12 职场文书
钢琴师观后感
2015/06/12 职场文书
SpringCloud的JPA连接PostgreSql的教程
2021/06/26 Java/Android