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 相关文章推荐
ASP知识讲座四
Oct 09 PHP
刚才在简化php的库,结果发现很多东西
Dec 31 PHP
巧用php中的array_filter()函数去掉多维空值的代码分享
Sep 07 PHP
php解析url的三个示例
Jan 20 PHP
PHP小教程之实现链表
Jun 09 PHP
PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
Nov 18 PHP
用php来限制每个ip每天浏览页面数量的实现思路
Feb 24 PHP
PHP实现中文圆形印章特效
Jun 19 PHP
浅析PHP中Session可能会引起并发问题
Jul 23 PHP
PHP中文字符串截断无乱码解决方法
Oct 10 PHP
PHP调用API接口实现天气查询功能的示例
Sep 21 PHP
php提供实现反射的方法和实例代码
Sep 17 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
dedecms模板标签代码官方参考
2007/03/17 PHP
一个好用的PHP验证码类实例分享
2013/12/27 PHP
PHP实现简单爬虫的方法
2015/07/29 PHP
最准确的php截取字符串长度函数
2015/10/29 PHP
PHP下的浮点运算不准的解决方法
2016/10/27 PHP
javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
2009/02/04 Javascript
学习并汇集javascript匿名函数
2010/11/25 Javascript
jQuery jcrop插件截图使用方法
2013/11/20 Javascript
AngularJS入门知识之MVW类框架的编程思想探讨
2014/12/08 Javascript
jQuery实现带有上下控制按钮的简单多行滚屏效果代码
2015/09/04 Javascript
javascript判断图片是否加载完成的方法推荐
2016/05/13 Javascript
footer定位页面底部(代码分享)
2017/03/07 Javascript
vuejs绑定class和style样式
2017/04/11 Javascript
详解vue移动端日期选择组件
2018/02/22 Javascript
原生JS实现动态加载js文件并在加载成功后执行回调函数的方法
2020/12/30 Javascript
vue-cli 脚手架基于Nightwatch的端到端测试环境的过程
2018/09/30 Javascript
js中位数不足自动补位扩展padLeft、padRight实现代码
2020/04/06 Javascript
Vue列表循环从指定下标开始的多种解决方案
2020/04/08 Javascript
Ubuntu下使用Python实现游戏制作中的切分图片功能
2018/03/30 Python
Django实现从数据库中获取到的数据转换为dict
2020/03/27 Python
Python使用xpath实现图片爬取
2020/09/16 Python
HTML5打开本地app应用的方法
2016/03/31 HTML / CSS
英国家电直销:Appliances Direct
2016/09/22 全球购物
美国宠物商店:Wag.com
2016/10/25 全球购物
美国婚礼礼品网站:MyWeddingFavors
2018/09/26 全球购物
掌上明珠Java程序员面试总结
2016/02/23 面试题
毕业生个人求职的自我评价
2013/10/28 职场文书
秋季运动会稿件
2014/01/30 职场文书
小学教师听课制度
2014/02/01 职场文书
二年级语文教学反思
2014/02/02 职场文书
工商管理专业大学生职业生涯规划范文
2014/03/09 职场文书
珍惜水资源建议书
2014/03/12 职场文书
2014年党员公开承诺书范文
2014/03/28 职场文书
导游个人求职信
2014/04/25 职场文书
党员“四风”方面存在问题及整改措施
2014/09/24 职场文书
阿里云ECS云服务器快照的概念以及如何使用
2022/04/21 Servers