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如何得到当前页和上一页的地址?
Nov 27 PHP
PHP获取类中常量,属性,及方法列表的方法
Apr 09 PHP
基于Windows下Apache PHP5.3.1安装教程
Jan 08 PHP
3个PHP多维数组转为一维数组的方法实例
Mar 13 PHP
PHP批量删除、清除UTF-8文件BOM头的代码实例
Apr 14 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
Aug 20 PHP
php文件压缩之PHPZip类用法实例
Jun 18 PHP
php发送短信验证码完成注册功能
Nov 24 PHP
thinkPHP模型初始化实例分析
Dec 03 PHP
PHP实现支持加盐的图片加密解密
Sep 09 PHP
基于php中echo用逗号和用点号的区别详解
Jan 23 PHP
Laravel框架Eloquent ORM修改数据操作示例
Dec 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
上传文件先创建目录 再上传到目录里面去
2010/12/29 PHP
浅析php中jsonp的跨域实例
2013/06/21 PHP
thinkPHP删除前弹出确认框的简单实现方法
2016/05/16 PHP
window.onload 加载完毕的问题及解决方案(上)
2009/07/09 Javascript
由JavaScript技术实现的web小游戏(不含网游)
2010/06/12 Javascript
javascript中将Object转换为String函数代码 (json str)
2012/04/29 Javascript
javascript自适应宽度的瀑布流实现思路
2013/02/20 Javascript
javascript 获取HTML DOM父、子、临近节点
2014/06/16 Javascript
盘点javascript 正则表达式中 中括号的【坑】
2016/03/16 Javascript
js贪吃蛇游戏实现思路和源码
2016/04/14 Javascript
JavaScript中的各种操作符使用总结
2016/05/26 Javascript
js简单实现图片延迟加载的方法
2016/07/19 Javascript
javascript self对象使用详解
2016/10/18 Javascript
jQuery第一次运行页面默认触发点击事件的实例
2018/01/10 jQuery
layui table 参数设置方法
2018/08/14 Javascript
vue主动刷新页面及列表数据删除后的刷新实例
2018/09/16 Javascript
详解vue为什么要求组件模板只能有一个根元素
2019/07/22 Javascript
微信小程序如何修改radio和checkbox的默认样式和图标
2019/07/24 Javascript
小程序实现左滑删除的效果的实例代码
2020/10/19 Javascript
uniapp实现可滑动选项卡
2020/10/21 Javascript
[05:01]3.19DOTA2发布会 我们都是刀塔人
2014/03/25 DOTA
Python解析nginx日志文件
2015/05/11 Python
对django xadmin自定义菜单的实例详解
2019/01/03 Python
Python语言检测模块langid和langdetect的使用实例
2019/02/19 Python
python 在某.py文件中调用其他.py内的函数的方法
2019/06/25 Python
Python flask路由间传递变量实例详解
2020/06/03 Python
详解Python 循环嵌套
2020/07/09 Python
利用HTML5的新特点实现图片文件异步上传
2014/05/29 HTML / CSS
德国奢侈品网上商城:Mytheresa
2016/08/24 全球购物
美国体育用品在线:Modell’s Sporting Goods
2018/06/07 全球购物
大专毕业生自我评价分享
2013/11/10 职场文书
网上蛋糕店创业计划书
2014/01/24 职场文书
中介公司区域经理岗位职责范本
2014/03/02 职场文书
个人买房协议书范本
2014/10/06 职场文书
教师廉政准则心得体会
2016/01/20 职场文书
Android开发之WECHAT微信小程序路由跳转的两种形式
2022/04/12 Java/Android