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
延长phpmyadmin登录时间的方法
Feb 06 PHP
php session安全问题分析
Jun 24 PHP
php全排列递归算法代码
Oct 09 PHP
PHP 验证码不显示只有一个小红叉的解决方法
Sep 30 PHP
PHP扩展CURL的用法详解
Jun 20 PHP
ThinkPHP页面跳转success与error方法概述
Jun 25 PHP
PHP实现采集抓取淘宝网单个商品信息
Jan 08 PHP
PHP JSON格式的中文显示问题解决方法
Apr 09 PHP
PHP的Yii框架中行为的定义与绑定方法讲解
Mar 18 PHP
PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例
Apr 14 PHP
PHP isset()与empty()的使用区别详解
Feb 10 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面向对象学习笔记之二 生成对象的设计模式
2012/10/06 PHP
PHP基础之运算符的使用方法
2013/04/28 PHP
php class类的用法详细总结
2013/10/17 PHP
PHP5中实现多态的两种方法实例分享
2014/04/21 PHP
THINKPHP在添加数据的时候获取主键id的值方法
2017/04/03 PHP
php批量修改表结构实例
2017/05/24 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
2019/04/03 PHP
深入浅析安装PhpStorm并激活的步骤详解
2020/09/17 PHP
jquery ajax 同步异步的执行示例代码
2010/06/23 Javascript
javascript中的关于类型转换的性能优化
2010/12/14 Javascript
javascript实现回车键提交表单方法总结
2015/01/10 Javascript
JavaScript中innerHTML,innerText,outerHTML的用法及区别
2015/09/01 Javascript
浅谈JavaScript 函数参数传递到底是值传递还是引用传递
2016/08/23 Javascript
Vue.js动态组件解析
2016/09/09 Javascript
bootstrap按钮插件(Button)使用方法解析
2017/01/13 Javascript
Angular中的$watch、$watchGroup、$watchCollection
2017/06/25 Javascript
vue系列之动态路由详解【原创】
2017/09/10 Javascript
浅谈React和Redux的连接react-redux
2017/12/04 Javascript
jquery的 filter()方法使用教程
2018/03/22 jQuery
微信小程序全局变量GLOBALDATA的定义和调用过程解析
2019/09/23 Javascript
Vue实现星级评价效果实例详解
2019/12/30 Javascript
Vue前端判断数据对象是否为空的实例
2020/09/02 Javascript
[40:10]2015国际邀请赛全明星表演赛
2015/08/07 DOTA
Python构造函数及解构函数介绍
2015/02/26 Python
文件上传服务器-jupyter 中python解压及压缩方式
2020/04/22 Python
Python创建自己的加密货币的示例
2021/03/01 Python
使paramiko库执行命令时在给定的时间强制退出功能的实现
2021/03/03 Python
美国战术品牌:5.11 Tactical
2019/05/01 全球购物
什么造成了Java里面的异常
2016/04/24 面试题
体育学院毕业生自荐信
2013/11/03 职场文书
办公室文书岗位职责
2013/12/16 职场文书
乡党委干部党的群众路线教育实践活动个人对照检查材料思想汇报
2014/10/01 职场文书
高一军训决心书
2015/02/05 职场文书
2015社区健康教育工作总结
2015/05/20 职场文书
个人工作失误的保证书怎么写?
2019/06/21 职场文书
建国70周年的心得体会(2篇)
2019/09/20 职场文书