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 相关文章推荐
PHP4实际应用经验篇(1)
Oct 09 PHP
require(),include(),require_once()和include_once()的异同
Jan 02 PHP
php URL验证正则表达式
Jul 19 PHP
PHP中最容易忘记的一些知识点总结
Apr 28 PHP
PHP使用memcache缓存技术提高响应速度的方法
Dec 26 PHP
php实现在站点里面添加邮件发送的功能
Apr 28 PHP
PHP实现冒泡排序的简单实例
May 26 PHP
Yii2简单实现多语言配置的方法
Jul 23 PHP
解决form中action属性后面?传递参数 获取不到的问题
Jul 21 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
Sep 16 PHP
PHP面向对象程序设计重载(overloading)操作详解
Jun 13 PHP
one.php 多项目、函数库、类库 统一为一个版本的方法
Aug 24 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并发访问实例代码
2012/09/06 PHP
修改destoon会员公司的伪静态中的com目录的方法
2014/08/21 PHP
CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法
2015/12/17 PHP
linux下为php添加iconv模块的方法
2016/02/28 PHP
php+mysql+jquery实现简易的检索自动补全提示功能
2017/04/15 PHP
PHP使用mongoclient简单操作mongodb数据库示例
2019/02/08 PHP
PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
2019/05/21 PHP
javascript 节点遍历函数
2010/03/28 Javascript
javascript 全选与全取消功能的实现代码
2012/12/23 Javascript
下载文件个别浏览器文件名乱码解决办法
2013/03/19 Javascript
异步JS框架的作用以及实现方法
2015/10/29 Javascript
javascript实现二级级联菜单的简单制作
2015/11/19 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
2016/10/10 Javascript
用jQuery.ajaxSetup实现对请求和响应数据的过滤
2016/12/20 Javascript
基于AngularJS的简单使用详解
2017/09/10 Javascript
js replace 全局替换的操作方法
2018/06/12 Javascript
微信小程序视图容器(swiper)组件创建轮播图
2020/06/19 Javascript
Vue axios全局拦截 get请求、post请求、配置请求的实例代码
2018/11/28 Javascript
nodejs npm错误Error:UNKNOWN:unknown error,mkdir 'D:\Develop\nodejs\node_global'at Error
2019/03/02 NodeJs
jQuery zTree插件使用简单教程
2019/08/16 jQuery
vue3使用vue-count-to组件的实现
2020/12/25 Vue.js
详解JavaScript中的this指向问题
2021/02/05 Javascript
[51:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/30 DOTA
win7 下搭建sublime的python开发环境的配置方法
2014/06/18 Python
Python中的pass语句使用方法讲解
2015/05/14 Python
深入理解python try异常处理机制
2016/06/01 Python
TensorFlow安装及jupyter notebook配置方法
2017/09/08 Python
python cs架构实现简单文件传输
2020/03/20 Python
利用python控制Autocad:pyautocad方式
2020/06/01 Python
详解三种方式实现平滑滚动页面到顶部的功能
2019/04/23 HTML / CSS
平安建设工作方案
2014/06/02 职场文书
艺术设计专业毕业生推荐信
2014/07/08 职场文书
校长师德表现自我评价
2015/03/05 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
导游词之清晏园
2019/11/22 职场文书
golang用type-switch判断interface的实际存储类型
2022/04/14 Golang