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 相关文章推荐
真正的ZIP文件操作类(php)
Jul 21 PHP
PHP高自定义性安全验证码代码
Nov 27 PHP
php中的boolean(布尔)类型详解
Oct 28 PHP
ThinkPHP基于PHPExcel导入Excel文件的方法
Oct 15 PHP
php中 ob_start等函数截取标准输出的方法
Jun 22 PHP
php上传功能集后缀名判断和随机命名(强力推荐)
Sep 10 PHP
PHP基于新浪IP库获取IP详细地址的方法
May 04 PHP
PHP常用操作类之通信数据封装类的实现
Jul 16 PHP
PHP从尾到头打印链表实例讲解
Sep 27 PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
Jun 05 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
Mar 23 PHP
php7中停止php-fpm服务的方法详解
May 09 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
骨王战斗力在公会成员中排不进前五,却当选了会长,原因竟是这样
2020/03/02 日漫
php 提速工具eAccelerator 配置参数详解
2010/05/16 PHP
通过table标签,PHP输出EXCEL的实现方法
2013/07/24 PHP
php用正则判断是否为数字的方法
2016/03/25 PHP
php修改数组键名的方法示例
2017/04/15 PHP
多个iframe自动调整大小的问题
2006/09/18 Javascript
使两个iframe的高度与内容自适应,且相等
2006/11/20 Javascript
Riot.js 快速的JavaScript单元测试框架
2009/11/09 Javascript
js 多种变量定义(对象直接量,数组直接量和函数直接量)
2010/05/24 Javascript
JS+CSS实现一个气泡提示框
2013/08/18 Javascript
理运用命名空间让js不产生冲突避免全局变量的泛滥
2014/06/15 Javascript
javascript实现iframe框架延时加载的方法
2014/10/30 Javascript
jQuery中prependTo()方法用法实例
2015/01/08 Javascript
Javascript中字符串相关常用的使用方法总结
2017/03/13 Javascript
详解JavaScript中return的用法
2017/05/08 Javascript
基于Vuejs和Element的注册插件的编写方法
2017/07/03 Javascript
ES6中新增的Object.assign()方法详解
2017/09/22 Javascript
vue-awesome-swiper滑块插件使用方法详解
2017/11/27 Javascript
JavaScript使用递归和循环实现阶乘的实例代码
2018/08/28 Javascript
帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
2019/08/23 Javascript
JavaScript HTML DOM 元素 (节点)新增,编辑,删除操作实例分析
2020/03/02 Javascript
react结合bootstrap实现评论功能
2020/05/30 Javascript
调试Python程序代码的几种方法总结
2015/04/28 Python
python变量不能以数字打头详解
2016/07/06 Python
Python打印“菱形”星号代码方法
2018/02/05 Python
PyCharm安装第三方库如Requests的图文教程
2018/05/18 Python
TensorFlow的权值更新方法
2018/06/14 Python
对python csv模块配置分隔符和引用符详解
2018/12/12 Python
Pytorch加载部分预训练模型的参数实例
2019/08/18 Python
python制作朋友圈九宫格图片
2019/11/03 Python
Django 后台带有字典的列表数据与页面js交互实例
2020/04/03 Python
美国汽车轮胎和轮毂销售网站:Tire Rack
2018/01/11 全球购物
大学同学十年聚会感言
2014/02/21 职场文书
入党积极分子学习优秀共产党员先进事迹思想汇报
2014/09/13 职场文书
教师个人事迹材料
2014/12/17 职场文书
学会用Python实现滑雪小游戏,再也不用去北海道啦
2021/05/20 Python