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 相关文章推荐
用Zend Encode编写开发PHP程序
Feb 21 PHP
深入php处理整数函数的详解
Jun 09 PHP
PHP统计二维数组元素个数的方法
Nov 12 PHP
linux下编译安装memcached服务
Aug 03 PHP
php实现屏蔽掉黑帽SEO的搜索关键字
Apr 15 PHP
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
Sep 20 PHP
PHP7标量类型declare用法实例分析
Sep 26 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
Oct 21 PHP
在Thinkphp中使用ajax实现无刷新分页的方法
Oct 25 PHP
PHP+Ajax无刷新带进度条图片上传示例
Feb 08 PHP
PHP通过文件路径获取文件名的实例代码
Oct 14 PHP
PHP+百度AI OCR文字识别实现了图片的文字识别功能
May 08 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
Destoon实现多表查询示例
2014/08/21 PHP
微信随机生成红包金额算法php版
2016/07/21 PHP
JavaScript 数组循环引起的思考
2010/01/01 Javascript
为JavaScript提供睡眠功能(sleep) 自编译JS引擎
2010/08/16 Javascript
jQuery插件expander实现图片翻转特效
2015/05/21 Javascript
jQuery简单实现提交数据出现loading进度条的方法
2016/03/29 Javascript
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
2017/03/28 jQuery
angular过滤器实现排序功能
2017/06/27 Javascript
详解require.js配置路径的用法和css的引入
2017/09/06 Javascript
详解Vuex中mapState的具体用法
2017/09/28 Javascript
基于Require.js使用方法(总结)
2017/10/26 Javascript
vue中添加mp3音频文件的方法
2018/03/02 Javascript
JS模拟实现哈希表及应用详解
2018/05/04 Javascript
Node.js 使用axios读写influxDB的方法示例
2018/10/26 Javascript
基于Vue2实现简易的省市区县三级联动组件效果
2018/11/05 Javascript
谈谈React中的Render Props模式
2018/12/06 Javascript
Async/Await替代Promise的6个理由
2019/06/15 Javascript
如何实现echarts markline标签名显示自己想要的
2020/07/20 Javascript
Python中转换角度为弧度的radians()方法
2015/05/18 Python
Python基于tkinter模块实现的改名小工具示例
2017/07/27 Python
Python实现的凯撒密码算法示例
2018/04/12 Python
解决python matplotlib imshow无法显示的问题
2018/05/24 Python
python3实现点餐系统
2019/01/24 Python
Python学习笔记之Zip和Enumerate用法实例分析
2019/08/14 Python
postman传递当前时间戳实例详解
2019/09/14 Python
CSS3实现苹果手机解锁的字体闪亮效果示例
2021/01/05 HTML / CSS
英国最大的LED专业零售商:Led Hut
2018/03/16 全球购物
考试不及格的检讨书
2014/01/22 职场文书
2014年庆元旦活动方案
2014/02/15 职场文书
党员自我对照检查材料
2014/08/19 职场文书
村党支部书记四风问题个人对照检查材料思想汇报
2014/10/06 职场文书
体育教师个人工作总结
2015/02/09 职场文书
浅谈移动端中的视口(viewport)的具体使用
2021/04/13 HTML / CSS
使用JS实现简易计算器
2021/06/14 Javascript
Nginx内网单机反向代理的实现
2021/11/07 Servers
mysql timestamp比较查询遇到的坑及解决
2021/11/27 MySQL