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 抓取网页图片并且另存为的实现代码
Mar 24 PHP
PHP清除字符串中所有无用标签的方法
Dec 01 PHP
关于URL最大长度限制的相关资料查证
Dec 23 PHP
PHP时间和日期函数详解
May 08 PHP
wampserver改变默认网站目录的办法
Aug 05 PHP
Yii2超好用的日期和时间组件(值得收藏)
May 05 PHP
PHP书写格式详解(必看)
May 23 PHP
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
Feb 04 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
Nov 17 PHP
深入研究PHP中的preg_replace和代码执行
Aug 15 PHP
PHP常见加密函数用法示例【crypt与md5】
Jan 27 PHP
thinkPHP5使用Rabc实现权限管理
Aug 28 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 清除网页病毒的方法
2008/12/05 PHP
PHP最常用的2种设计模式工厂模式和单例模式介绍
2012/08/14 PHP
几个实用的PHP内置函数使用指南
2014/11/27 PHP
php中有关合并某一字段键值相同的数组合并的改进
2015/03/10 PHP
浅谈php处理后端&amp;接口访问超时的解决方法
2016/10/29 PHP
Laravel实现批量更新多条数据
2020/04/06 PHP
基于jquery的放大镜效果
2012/05/30 Javascript
在图片上显示左右箭头类似翻页的代码
2013/03/04 Javascript
Javascript页面添加到收藏夹的简单方法
2013/08/07 Javascript
JS制作简单的三级联动
2015/03/18 Javascript
JavaScript处理解析JSON数据过程详解
2015/09/11 Javascript
JavaScript知识点总结(四)之逻辑OR运算符详解
2016/05/31 Javascript
easyui-datagrid特殊字符不能显示的处理方法
2017/04/12 Javascript
使用electron将vue-cli项目打包成exe的方法
2018/09/29 Javascript
移动端如何用下拉刷新的方式实现上拉加载
2018/12/10 Javascript
js HTML DOM EventListener功能与用法实例分析
2020/04/27 Javascript
Node.js设置定时任务之node-schedule模块的使用详解
2020/04/28 Javascript
[01:34]2014DOTA2 TI预选赛预选赛 选手比赛房大揭秘!
2014/05/20 DOTA
Python中处理字符串之isalpha()方法的使用
2015/05/18 Python
利用python实现简单的邮件发送客户端示例
2017/12/23 Python
详解python中递归函数
2019/04/16 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
2019/08/02 Python
django drf框架中的user验证以及JWT拓展的介绍
2019/08/12 Python
将python包发布到PyPI和制作whl文件方式
2019/12/25 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
python 实现仿微信聊天时间格式化显示的代码
2020/04/17 Python
django的autoreload机制实现
2020/06/03 Python
Pytorch上下采样函数--interpolate用法
2020/07/07 Python
THE OUTNET英国官网:国际设计师品牌折扣网站
2016/08/14 全球购物
我们是伦敦女孩:WalG
2018/01/08 全球购物
英国床和浴室商场:Bed & Bath Emporium
2018/05/20 全球购物
外贸学院会计专业应届生求职信
2013/11/14 职场文书
采购主管的岗位职责
2013/12/17 职场文书
幼儿教师寄语集锦
2014/04/03 职场文书
班组拓展活动方案
2014/08/14 职场文书
智慧人生:永远不需要向任何人解释你自己
2019/08/20 职场文书