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 伪造本地文件包含漏洞的代码
Nov 03 PHP
PHP 万年历实现代码
Oct 18 PHP
奉献出一个封装的curl函数 便于调用(抓数据专用)
Jul 22 PHP
php的ajax简单实例
Feb 27 PHP
ThinkPHP3.1新特性之对分组支持的改进与完善概述
Jun 19 PHP
PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径
Jun 30 PHP
php中静态类与静态变量用法的区别分析
Jan 15 PHP
Ubuntu中搭建Nginx、PHP环境最简单的方法
Mar 05 PHP
全面了解PHP中的全局变量
Jun 17 PHP
Laravel 中使用 Vue.js 实现基于 Ajax 的表单提交错误验证操作
Jun 30 PHP
PHP+Session防止表单重复提交的解决方法
Apr 09 PHP
PHP中命名空间的使用例子
Mar 22 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常用ODBC函数集(详细)
2013/06/24 PHP
php语言中使用json的技巧及json的实现代码详解
2015/10/27 PHP
CodeIgniter表单验证方法实例详解
2016/03/03 PHP
PHP+Ajax实现的检测用户名功能简单示例
2019/02/12 PHP
PHP批斗大会之缺失的异常详解
2019/07/09 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
2019/11/14 PHP
JavaScript 使用技巧精萃(.net html
2009/04/25 Javascript
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
2010/06/12 Javascript
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
2011/07/26 Javascript
IE6浏览器下resize事件被执行了多次解决方法
2012/12/11 Javascript
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
jquery控制display属性为none或block
2014/03/31 Javascript
JavaScript中的原型和继承详解(图文)
2014/07/18 Javascript
javascript解三阶幻方(九宫格)
2015/04/22 Javascript
使用Node.js实现HTTP 206内容分片的教程
2015/06/23 Javascript
jquery ajax结合thinkphp的getjson实现跨域的方法
2016/06/06 Javascript
Vue2.0基于vue-cli+webpack同级组件之间的通信教程(推荐)
2017/09/14 Javascript
vue-cli3.0配置及使用注意事项详解
2018/09/05 Javascript
React注册倒计时功能的实现
2018/09/06 Javascript
QRCode.js二维码生成并能长按识别
2018/10/16 Javascript
微信小程序实现星级评价效果
2018/12/28 Javascript
小程序实现多列选择器
2019/02/15 Javascript
python 日志增量抓取实现方法
2018/04/28 Python
canvas实现按住鼠标移动绘制出轨迹的示例代码
2018/02/05 HTML / CSS
Vinatis德国:法国领先的葡萄酒邮购公司
2020/09/07 全球购物
高级方案规划工程师岗位职责
2013/11/29 职场文书
保密工作责任书
2014/04/16 职场文书
初中生操行评语大全
2014/04/24 职场文书
银行先进个人事迹材料
2014/05/11 职场文书
单位绩效考核方案
2014/05/11 职场文书
煤矿安全知识竞赛活动总结
2014/07/07 职场文书
危货运输企业安全生产责任书
2014/07/28 职场文书
公司收款委托书范本
2014/09/20 职场文书
承兑汇票转让证明怎么写?
2014/11/30 职场文书
焦裕禄纪念馆观后感
2015/06/09 职场文书
六一亲子活动感想
2015/08/07 职场文书