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中Cannot send session cache limiter 的问题的方法
Apr 27 PHP
PHP foreach循环使用详解与实例代码
May 08 PHP
PHP中HTML标签过滤技巧
Jan 07 PHP
ThinkPHP的截取字符串函数无法显示省略号的解决方法
Jun 25 PHP
最常用的8款PHP调试工具
Jul 06 PHP
php使用sql server验证连接数据库的方法
Dec 25 PHP
详细解读php的命名空间(一)
Feb 21 PHP
php实现微信企业付款到个人零钱功能
Oct 09 PHP
CI框架教程之优化验证码机制详解【验证码辅助函数】
Apr 16 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
May 25 PHP
PHP7创建COOKIE和销毁COOKIE的实例方法
Feb 03 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.MVC的模板标签系统(一)
2006/09/05 PHP
跟我学Laravel之安装Laravel
2014/10/15 PHP
php实现随机显示图片方法汇总
2015/05/21 PHP
Jquery在IE7下无法使用 $.ajax解决方法
2009/11/11 Javascript
JavaScript加强之自定义event事件
2013/09/21 Javascript
js获取html页面节点方法(递归方式)
2013/12/13 Javascript
node.js学习总结之调式代码的方法
2014/06/25 Javascript
举例讲解JavaScript substring()的使用方法
2015/11/09 Javascript
jquery解析json格式数据的方法(对象、字符串)
2015/11/24 Javascript
在js里怎么实现Xcode里的callFuncN方法(详解)
2016/11/05 Javascript
Javascript中for循环语句的几种写法总结对比
2017/01/23 Javascript
解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题
2018/08/24 Javascript
JavaScript基于数组实现的栈与队列操作示例
2018/12/22 Javascript
JavaScript实现栈结构Stack过程详解
2020/03/07 Javascript
Element InputNumber计数器的使用方法
2020/07/27 Javascript
jquery实现淡入淡出轮播图效果
2020/12/13 jQuery
JavaScript实现点击自制菜单效果
2021/02/02 Javascript
Python不规范的日期字符串处理类
2014/06/10 Python
跟老齐学Python之重回函数
2014/10/10 Python
Python中列表与元组的乘法操作示例
2018/02/10 Python
python运行时强制刷新缓冲区的方法
2019/01/14 Python
基于python实现KNN分类算法
2020/04/23 Python
利用python实现汉字转拼音的2种方法
2019/08/12 Python
Python实现一个优先级队列的方法
2020/07/31 Python
如何实现一个python函数装饰器(Decorator)
2020/10/12 Python
python 解决Windows平台上路径有空格的问题
2020/11/10 Python
python使用smtplib模块发送邮件
2020/12/17 Python
面向对象概念面试题(.NET)
2016/11/04 面试题
九州传奇上机题
2014/07/10 面试题
公开承诺书格式
2014/05/21 职场文书
党性心得体会
2014/09/03 职场文书
大二学生学年自我鉴定
2014/09/12 职场文书
幼儿园教师工作总结2015
2015/04/02 职场文书
nginx配置ssl实现https的方法示例
2021/03/31 Servers
python中sys模块的介绍与实例
2021/04/17 Python
Python matplotlib绘制条形统计图 处理多个实验多组观测值
2022/04/21 Python