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中文件下载功能实现超详细流程分析
Jun 13 PHP
PHP常用的文件操作函数经典收藏
Apr 02 PHP
PHP在线生成二维码(google api)的实现代码详解
Jun 04 PHP
php中chdir()函数用法实例
Nov 13 PHP
PHP 读取文本文件内容并分页显示
Jan 02 PHP
PHP中串行化用法示例
Nov 16 PHP
PHP设计模式之状态模式定义与用法详解
Apr 02 PHP
php实现表单提交上传文件功能
May 28 PHP
Ajax+PHP实现的分类列表框功能示例
Feb 11 PHP
Yii2框架控制器、路由、Url生成操作示例
May 27 PHP
在laravel框架中使用model层的方法
Oct 08 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
Feb 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
windows下配置apache+php+mysql时出现问题的处理方法
2014/06/20 PHP
php生成酷炫的四个字符验证码
2016/04/22 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
二级域名或跨域共享Cookies的实现方法
2008/08/07 Javascript
JavaScript Cookie 直接浏览网站分网址
2009/12/08 Javascript
电子商务网站上的常用的js放大镜效果
2011/12/08 Javascript
jQuery - css() 方法示例详解
2014/01/16 Javascript
使用jquery+CSS3实现仿windows10开始菜单的下拉导航菜单特效
2015/09/24 Javascript
JavaScript与jQuery实现的闪烁输入效果
2016/02/18 Javascript
Vue.js学习笔记之 helloworld
2016/08/14 Javascript
angular.js之路由的选择方法
2016/09/24 Javascript
d3.js中冷门却实用的内置函数总结
2017/02/04 Javascript
JavaScript中Require调用js的实例分享
2017/10/27 Javascript
vue使用pdfjs显示PDF可复制的实现方法
2018/12/14 Javascript
详解puppeteer使用代理
2018/12/27 Javascript
vue实现路由切换改变title功能
2019/05/28 Javascript
js实现简单掷骰子小游戏
2019/10/24 Javascript
Vue中错误图片的处理的实现代码
2019/11/07 Javascript
javascript实现滚动条效果
2020/03/24 Javascript
JS使用Chrome浏览器实现调试线上代码
2020/07/23 Javascript
python进阶教程之函数参数的多种传递方法
2014/08/30 Python
通过5个知识点轻松搞定Python的作用域
2016/09/09 Python
Windows 8.1 64bit下搭建 Scrapy 0.22 环境
2018/11/18 Python
2分钟教你实现环形/扇形菜单(基础版)
2020/01/15 HTML / CSS
购买澳大利亚最好的服装和内衣在线:BONDS
2016/10/14 全球购物
阿联酋网上花店:Ferns N Petals
2018/02/14 全球购物
升职自荐书范文
2013/11/28 职场文书
办理信用卡工作证明
2014/01/11 职场文书
超市客服工作职责
2014/06/11 职场文书
领导班子在批评与自我批评座谈会上的发言
2014/09/28 职场文书
教师自查自纠材料
2014/10/14 职场文书
2014镇党委书记党建工作汇报材料
2014/11/02 职场文书
贷款工资证明范本
2015/06/12 职场文书
读《钢铁是怎样炼成的》有感:百炼方成钢
2019/11/05 职场文书
Sleuth+logback 设置traceid 及自定义信息方式
2021/07/26 Java/Android
python+pyhyper实现识别图片中的车牌号思路详解
2022/12/24 Python