php读取目录及子目录下所有文件名的方法


Posted in PHP onOctober 20, 2014

本文实例讲述了php读取目录及子目录下所有文件名的方法,分享给大家供大家参考。具体实现方法如下:

一般来说php中读取目录下的文件名的方式确实不少,最简单的是scandir,具体代码如下:

$dir="./caxa/";

$file=scandir($dir);

print_r($file);

稍微复杂点的,来自于php手册:

$dir = "/etc/php5/";

// Open a known directory, and proceed to read its contents

if (is_dir($dir)) {

if ($dh = opendir($dir)) {

while (($file = readdir($dh)) !== false) {

echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";

} closedir($dh);

}

}

这些都只能读取当前指定目录下的文件,对子目录中的文件则无法读取。原来自己写过一个循环删除所有目录的一段代码,需要逐个子目录删除所有文件,包括多层。但是只需要读出文件名,稍微复杂点,网上找到一个能用,原始代码有错误提示,改了一下引用&$data的地方,如下所示:

function searchDir($path,&$data){

if(is_dir($path)){

$dp=dir($path);

while($file=$dp->read()){

if($file!='.'&& $file!='..'){

searchDir($path.'/'.$file,$data);

}

}

$dp->close();

}

if(is_file($path)){

$data[]=$path;

}

}
function getDir($dir){

$data=array();

searchDir($dir,$data);

return   $data;

}
print_r(getDir('.'));

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
详细介绍:Apache+PHP+MySQL配置攻略
Sep 05 PHP
在PHP中使用XML
Oct 09 PHP
mysql 全文搜索 技巧
Apr 27 PHP
php 数组使用详解 推荐
Jun 02 PHP
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
May 08 PHP
destoon实现调用当前栏目分类及子分类和三级分类的方法
Aug 21 PHP
php rsa加密解密使用详解
Jan 14 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
Jun 06 PHP
PHP实现的策略模式简单示例
Aug 25 PHP
PHP单例模式与工厂模式详解
Aug 29 PHP
PHP基于mcript扩展实现对称加密功能示例
Feb 21 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
Oct 30 PHP
php中的字符编码转换函数用法示例
Oct 20 #PHP
PHP实现通过中文字符比率来判断垃圾评论的方法
Oct 20 #PHP
php的ZipArchive类用法实例
Oct 20 #PHP
php自定义apk安装包实例
Oct 20 #PHP
php防止站外远程提交表单的方法
Oct 20 #PHP
php获取textarea的值并处理回车换行的方法
Oct 20 #PHP
php实现给图片加灰色半透明效果的方法
Oct 20 #PHP
You might like
PHP分页显示制作详细讲解
2006/10/09 PHP
PHP设计聊天室步步通
2006/10/09 PHP
vBulletin HACK----关于排版的两个HACK
2006/10/09 PHP
php中filter函数验证、过滤用户输入的数据
2014/01/13 PHP
php+html5使用FormData对象提交表单及上传图片的方法
2015/02/11 PHP
php实现插入数组但不影响原有顺序的方法
2015/03/27 PHP
PHP数学运算函数大汇总(经典值得收藏)
2016/04/01 PHP
php使用json_decode后数字对象转换成了科学计数法的解决方法
2017/02/20 PHP
Js 回车换行处理的办法及replace方法应用
2013/01/24 Javascript
js实现div拖动动画运行轨迹效果代码分享
2015/08/27 Javascript
javascript中类的定义方式详解(四种方式)
2015/12/22 Javascript
jQuery将表单序列化成一个Object对象的实例
2016/11/29 Javascript
想学习javascript JS和jQuery哪个重要 先学哪个
2016/12/11 Javascript
vue实现前进刷新后退不刷新效果
2018/01/26 Javascript
Java设计中的Builder模式的介绍
2018/03/22 Javascript
vue左右侧联动滚动的实现代码
2018/06/06 Javascript
Vue自定义指令封装节流函数的方法示例
2018/07/09 Javascript
详解Vue.js中引入图片路径的几种方式
2019/06/17 Javascript
Node对CommonJS的模块规范
2019/11/06 Javascript
Python抓取百度查询结果的方法
2015/07/08 Python
实例讲解Python中函数的调用与定义
2016/03/14 Python
Python基于dom操作xml数据的方法示例
2018/05/12 Python
Python读取excel中的图片完美解决方法
2018/07/27 Python
中国制造网:Made-in-China.com
2019/10/25 全球购物
Solaris操作系统的线程机制
2012/12/23 面试题
出生医学证明样本
2014/01/17 职场文书
李培根演讲稿
2014/05/22 职场文书
学雷锋宣传标语
2014/06/25 职场文书
单位工作证明范文
2014/09/14 职场文书
交通事故委托书范本
2014/09/28 职场文书
工作批评与自我批评范文
2014/10/16 职场文书
消防隐患整改通知书
2015/04/22 职场文书
起诉意见书范文
2015/05/19 职场文书
新闻通讯稿范文
2015/07/22 职场文书
企业年会祝酒词
2015/08/11 职场文书
mysql 数据插入优化方法之concurrent_insert
2021/07/01 MySQL