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作的文本留言本的例子(三)
Oct 09 PHP
php文章内容分页并生成相应的htm静态页面代码
Jun 07 PHP
php 求质素(素数) 的实现代码
Apr 12 PHP
php学习笔记 PHP面向对象的程序设计
Jun 13 PHP
PHP中的插件机制原理和实例
Jul 08 PHP
Laravel框架数据库CURD操作、连贯操作总结
Sep 03 PHP
php简单实现屏蔽指定ip段用户的访问
Apr 29 PHP
mysql alter table命令修改表结构实例详解
Sep 24 PHP
php array_slice 取出数组中的一段序列实例
Nov 04 PHP
[原创]php集成安装包wampserver修改密码后phpmyadmin无法登陆的解决方法
Nov 23 PHP
php + WebUploader实现图片批量上传功能
May 06 PHP
在laravel中实现将查询的对象转换为多维数组的函数
Oct 21 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限制页面只能在微信自带浏览器访问的代码
2014/01/15 PHP
将php数组输出html表格的方法
2014/02/24 PHP
destoon安装出现Internal Server Error的解决方法
2014/06/21 PHP
php模拟post上传图片实现代码
2016/06/24 PHP
php中bind_param()函数用法分析
2017/03/28 PHP
PHP数组遍历的几种常见方式总结
2019/02/15 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
写给想学习Javascript的朋友一点学习经验小结
2010/11/23 Javascript
JS在TextArea光标位置插入文字并实现移动光标到文字末尾
2013/06/21 Javascript
JS实现很酷的水波文字特效实例
2015/02/26 Javascript
jQuery删除节点用法示例(remove方法)
2016/09/08 Javascript
jQuery阻止移动端遮罩层后页面滚动
2017/03/15 Javascript
详解webpack进阶之插件篇
2017/07/06 Javascript
r.js来合并压缩css文件的示例
2018/04/26 Javascript
详解Vue结合后台的列表增删改案例
2018/08/21 Javascript
解决webpack+Vue引入iView找不到字体文件的问题
2018/09/28 Javascript
Vue组件内部实现一个双向数据绑定的实例代码
2019/04/04 Javascript
javascript中undefined的本质解析
2019/07/31 Javascript
如何用JS模拟实现数组的map方法
2020/07/30 Javascript
django celery redis使用具体实践
2019/04/08 Python
PowerBI和Python关于数据分析的对比
2019/07/11 Python
pytorch 图像预处理之减去均值,除以方差的实例
2020/01/02 Python
python opencv 图像边框(填充)添加及图像混合的实现方法(末尾实现类似幻灯片渐变的效果)
2020/03/09 Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
2020/10/30 Python
CSS3中box-shadow的用法介绍
2015/07/15 HTML / CSS
如何选择使用结构还是类
2014/05/30 面试题
电子商务专业个人的自我评价分享
2013/10/29 职场文书
2014年教师培训的自我评价
2014/01/03 职场文书
初一英语教学反思
2014/01/11 职场文书
教师个人自我评价范文
2014/04/13 职场文书
怀念母亲教学反思
2014/04/28 职场文书
关爱残疾人演讲稿
2014/05/24 职场文书
法定授权委托证明书
2014/09/27 职场文书
朝花夕拾读书笔记
2015/06/29 职场文书
2016年度农村党员干部主题教育活动总结
2016/04/06 职场文书