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 相关文章推荐
抓取YAHOO股票报价的类
May 15 PHP
php fckeditor 调用的函数
Jun 21 PHP
PHP最常用的ini函数分析 针对PHP.ini配置文件
Apr 22 PHP
php 删除记录同时删除图片文件的实现代码
May 12 PHP
php自动加载的两种实现方法
Jun 21 PHP
PHP中Header使用的HTTP协议及常用方法小结
Nov 04 PHP
php递归遍历多维数组的方法
Apr 18 PHP
yii2 页面底部加载css和js的技巧
Apr 21 PHP
php metaphone()函数的定义和用法
May 15 PHP
PHP生成静态HTML文档实现代码
Jun 23 PHP
PHP框架Laravel中实现supervisor执行异步进程的方法
Jun 07 PHP
php微信开发之图片回复功能
Jun 14 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 遍历数据表数据并列表横向排列的代码
2009/09/05 PHP
php cookie的操作实现代码(登录)
2010/12/29 PHP
php中mt_rand()随机数函数用法
2014/11/24 PHP
JavaScript Event学习第八章 事件的顺序
2010/02/07 Javascript
Three.js源码阅读笔记(物体是如何组织的)
2012/12/27 Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
2015/02/03 Javascript
jQuery处理json数据返回数组和输出的方法
2015/03/11 Javascript
JavaScript数组实现数据结构中的队列与堆栈
2016/05/26 Javascript
jQuery插件dataTables添加序号列的方法
2016/07/06 Javascript
Javascript同时声明一连串(多个)变量的方法
2017/01/23 Javascript
解决vue项目打包后提示图片文件路径错误的问题
2018/07/04 Javascript
vue-cli 3 全局过滤器的实例代码详解
2019/06/03 Javascript
Vue中通过Vue.extend动态创建实例的方法
2019/08/13 Javascript
javascript用defineProperty实现简单的双向绑定方法
2020/04/03 Javascript
[33:23]Secret vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
分享15个最受欢迎的Python开源框架
2014/07/13 Python
Python简单实现自动删除目录下空文件夹的方法
2017/08/29 Python
对python中不同模块(函数、类、变量)的调用详解
2019/07/16 Python
如何基于Python创建目录文件夹
2019/12/31 Python
OpenCV哈里斯(Harris)角点检测的实现
2020/01/15 Python
使用PyQt的QLabel组件实现选定目标框功能的方法示例
2020/05/19 Python
Python中的整除和取模实例
2020/06/03 Python
keras训练曲线,混淆矩阵,CNN层输出可视化实例
2020/06/15 Python
python支持多继承吗
2020/06/19 Python
python实现发送QQ邮件(可加附件)
2020/12/23 Python
CSS3实现简易版的刮刮乐效果
2016/09/27 HTML / CSS
canvas 下载二维码和图片加水印的方法
2018/03/21 HTML / CSS
松下电器美国官方商店:Panasonic美国
2016/10/14 全球购物
优秀员工自荐信范文
2013/10/05 职场文书
学生干部的自我评价分享
2014/01/18 职场文书
幼儿园教研活动总结
2014/04/30 职场文书
军训口号
2014/06/13 职场文书
2014大学生职业生涯规划书最新范文
2014/09/13 职场文书
党员对照检查剖析材料
2014/10/13 职场文书
2014年社区宣传工作总结
2014/12/02 职场文书