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实现与ASP Banner组件相似的类
Oct 09 PHP
让你的WINDOWS同时支持MYSQL4,MYSQL4.1,MYSQL5X
Dec 06 PHP
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
Apr 08 PHP
PHP检测字符串是否为UTF8编码的常用方法
Nov 21 PHP
php使用APC实现实时上传进度条功能
Oct 26 PHP
PHP格式化MYSQL返回float类型的方法
Mar 30 PHP
Thinkphp和onethink实现微信支付插件
Apr 13 PHP
Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】
Feb 13 PHP
TP5框架简单登录功能实现方法示例
Oct 31 PHP
关于Laravel参数验证的一些疑与惑
Nov 19 PHP
laravel 框架执行流程与原理简单分析
Feb 01 PHP
基于PHP实现用户在线状态检测
Nov 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
ThinkPHP单字母函数(快捷方法)使用总结
2014/07/23 PHP
PHP内置加密函数详解
2016/11/20 PHP
Javascript根据指定下标或对象删除数组元素
2012/12/21 Javascript
javascript标签在页面中的位置探讨
2013/04/11 Javascript
基于dom编程中 动态创建与删除元素的使用
2013/04/17 Javascript
js返回上一页并刷新的多种实现方法
2014/02/26 Javascript
JQuery选择器绑定事件及修改内容的方法
2015/01/23 Javascript
AngularJS模块管理问题的非常规处理方法
2015/04/29 Javascript
禁止按回车键提交表单的方法
2015/06/11 Javascript
javascript插件开发的一些感想和心得
2016/02/28 Javascript
Angular学习笔记之angular的$filter服务浅析
2016/11/12 Javascript
Ajax跨域实现代码(后台jsp)
2017/01/21 Javascript
原生JS实现圣旨卷轴展开效果
2017/03/06 Javascript
JavaScript实现创建自定义对象的常用方式总结
2018/07/09 Javascript
在vue中解决提示警告 for循环报错的方法
2018/09/28 Javascript
微信小程序-form表单提交代码实例
2019/04/29 Javascript
vue data有值,但是页面{{}} 取不到值的解决
2020/11/09 Javascript
JavaScript实现雪花飘落效果
2020/12/27 Javascript
python里大整数相乘相关技巧指南
2014/09/12 Python
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
2017/10/01 Python
python lxml中etree的简单应用
2019/05/10 Python
Pandas分组与排序的实现
2019/07/23 Python
python实现布隆过滤器及原理解析
2019/12/08 Python
Django 多对多字段的更新和插入数据实例
2020/03/31 Python
python matplotlib工具栏源码探析三之添加、删除自定义工具项的案例详解
2021/02/25 Python
目前不被任何主流浏览器支持的CSS3属性汇总
2014/07/21 HTML / CSS
世界领先的在线地板和建筑材料批发商:BuildDirect
2017/02/26 全球购物
Sixt美国租车:高端豪华车型自驾体验
2017/09/02 全球购物
合作投资意向书
2014/04/01 职场文书
大学生励志演讲稿
2014/04/25 职场文书
运动员口号
2014/06/09 职场文书
党员专题组织生活会发言材料
2014/10/17 职场文书
2014年仓管员工作总结
2014/11/18 职场文书
2014年社区民政工作总结
2014/12/02 职场文书
入伍通知书
2015/04/23 职场文书
使用Redis实现点赞取消点赞的详细代码
2022/03/20 Redis