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 相关文章推荐
PHP动态变静态原理
Nov 25 PHP
用来解析.htpasswd文件的PHP类
Sep 05 PHP
解析crontab php自动运行的方法
Jun 24 PHP
php中怎么搜索相关联数组键值及获取之
Oct 17 PHP
PHP中的插件机制原理和实例
Jul 08 PHP
php中的字符编码转换函数用法示例
Oct 20 PHP
php通过exif_read_data函数获取图片的exif信息
May 21 PHP
php中switch语句用法详解
Aug 17 PHP
PHP递归遍历多维数组实现无限分类的方法
May 06 PHP
php支付宝APP支付功能
Jul 29 PHP
php用xpath解析html的代码实例讲解
Feb 14 PHP
PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】
Sep 10 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中使用Imagick实现图像直方图的实现代码
2011/08/30 PHP
PHP得到某段时间区间的时间戳 php定时任务
2012/04/12 PHP
Yii框架关联查询with用法分析
2014/12/02 PHP
PHP入门教程之PHP操作MySQL的方法分析
2016/09/11 PHP
laravel实现简单用户权限的示例代码
2019/05/28 PHP
jquery 插件学习(五)
2012/08/06 Javascript
JS判断页面加载状态以及添加遮罩和缓冲动画的代码
2012/10/11 Javascript
批量下载对路网图片并生成html的实现方法
2016/06/07 Javascript
js操作XML文件的实现方法兼容IE与FireFox
2016/06/25 Javascript
JavaScript动态添加css样式和script标签
2016/07/19 Javascript
如何解决jQuery EasyUI 已打开Tab重新加载问题
2016/12/19 Javascript
微信小程序实现简单input正则表达式验证功能示例
2017/11/30 Javascript
Vue 理解之白话 getter/setter详解
2019/04/16 Javascript
vue项目中使用AES实现密码加密解密(ECB和CBC两种模式)
2019/08/12 Javascript
JS使用正则表达式判断输入框失去焦点事件
2019/10/16 Javascript
vue中实现动态生成二维码的方法
2020/02/21 Javascript
JS this关键字在ajax中使用出现问题解决方案
2020/07/17 Javascript
Python3中多线程编程的队列运作示例
2015/04/16 Python
详解Python中time()方法的使用的教程
2015/05/22 Python
python计算文本文件行数的方法
2015/07/06 Python
改进Django中的表单的简单方法
2015/07/17 Python
Python中将两个或多个list合成一个list的方法小结
2019/05/12 Python
Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.0+cudnn)
2020/02/17 Python
python实现提取str字符串/json中多级目录下的某个值
2020/02/27 Python
python--shutil移动文件到另一个路径的操作
2020/07/13 Python
推荐值得学习的12款python-web开发框架
2020/08/10 Python
KARATOV珠宝在线商店:俄罗斯珠宝品牌
2019/03/13 全球购物
关于.NET, HTML的五个问题
2012/08/29 面试题
个人查摆剖析材料
2014/02/04 职场文书
运动会加油口号
2014/06/07 职场文书
在职党员进社区活动总结
2014/07/05 职场文书
城市规划应届生推荐信
2014/09/08 职场文书
2014银行领导班子群众路线对照检查材料思想汇报
2014/09/17 职场文书
皇城相府导游词
2015/02/06 职场文书
导游词之清晏园
2019/11/22 职场文书
js作用域及作用域链工作引擎
2022/07/07 Javascript