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 相关文章推荐
ftp类(example.php)
Oct 09 PHP
PHP&amp;MYSQL服务器配置说明
Oct 09 PHP
Adodb的十个实例(清晰版)
Dec 31 PHP
PHP 采集心得技巧
May 15 PHP
php的一些小问题
Jul 03 PHP
PHP求小于1000的所有水仙花数的代码
Jan 10 PHP
php+xml实现在线英文词典查询的方法
Jan 23 PHP
php调用KyotoTycoon简单实例
Apr 02 PHP
SESSION存放在数据库用法实例
Aug 08 PHP
php示例详解Constructor Prototype Pattern 原型模式
Oct 15 PHP
PHP通过加锁实现并发情况下抢码功能
Aug 10 PHP
PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例
May 08 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利用递归实现删除文件目录的方法
2016/09/23 PHP
laravel 中如何使用ajax和vue总结
2017/08/16 PHP
PHP 对象接口简单实现方法示例
2020/04/13 PHP
JS启动应用程序的一个简单例子
2008/05/11 Javascript
判断用户是否在线的代码
2011/03/05 Javascript
jQuery实现table隔行换色和鼠标经过变色的两种方法
2014/06/15 Javascript
jQuery中ajax和post处理json的不同示例对比
2014/11/02 Javascript
PHP实现的各种中文编码转换类分享
2015/01/23 Javascript
JS实现仿中关村论坛评分后弹出提示效果的方法
2015/02/23 Javascript
浅析jQuery事件之on()方法绑定多个选择器,多个事件
2016/04/27 Javascript
详解Angular的内置过滤器和自定义过滤器【推荐】
2016/12/26 Javascript
JavaScript数据结构之二叉树的查找算法示例
2017/04/13 Javascript
angular中实现控制器之间传递参数的方式
2017/04/24 Javascript
vue 里面使用axios 和封装的示例代码
2017/09/01 Javascript
ES6 迭代器(Iterator)和 for.of循环使用方法学习(总结)
2018/02/08 Javascript
详解创建自定义的Angular Schematics
2018/06/06 Javascript
JS基于ES6新特性async await进行异步处理操作示例
2019/02/02 Javascript
移动端(微信等使用vConsole调试console的方法
2019/03/05 Javascript
jquery向后台提交数组的代码分析
2020/02/20 jQuery
在vue中封装的弹窗组件使用队列模式实现方法
2020/07/23 Javascript
[05:31]DOTA2英雄梦之声_第08期_莉娜
2014/06/23 DOTA
python下函数参数的传递(参数带星号的说明)
2010/09/19 Python
python多重继承实例
2014/10/11 Python
在Python的Flask框架下使用sqlalchemy库的简单教程
2015/04/09 Python
Python编程中的文件操作攻略
2015/10/16 Python
Python程序退出方式小结
2017/12/09 Python
python实现WebSocket服务端过程解析
2019/10/18 Python
Python虚拟环境virtualenv创建及使用过程图解
2020/12/08 Python
使用pandas实现筛选出指定列值所对应的行
2020/12/13 Python
CSS3 display知识详解
2015/11/25 HTML / CSS
澳大利亚购买最佳炊具品牌网站:Cookware Brands
2019/02/16 全球购物
大学生创业感言
2014/01/25 职场文书
学雷锋演讲稿
2014/03/04 职场文书
2015年社区统计工作总结
2015/04/21 职场文书
学校世界艾滋病日宣传活动总结
2015/05/05 职场文书
公司考勤管理制度
2015/08/04 职场文书