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 相关文章推荐
discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件
Aug 19 PHP
PHP去除数组中重复的元素并按键名排序函数
Aug 18 PHP
PHP 模拟$_PUT实现代码
Mar 15 PHP
PHP5中新增stdClass 内部保留类
Jun 13 PHP
php中存储用户ID和密码到mysql数据库的方法
Feb 06 PHP
基于PHP常用字符串的总结(待续)
Jun 07 PHP
php基于str_pad实现卡号不足位数自动补0的方法
Nov 12 PHP
PHP 5.3和PHP 5.4出现FastCGI Error解决方法
Feb 12 PHP
php计算多维数组中所有值总和的方法
Jun 24 PHP
[原创]解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载)
Jun 22 PHP
Yii控制器中filter过滤器用法分析
Jul 15 PHP
PHP 等比例缩放图片详解及实例代码
Sep 18 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
set_include_path和get_include_path使用及注意事项
2013/02/02 PHP
destoon二次开发模板及调用语法汇总
2014/06/21 PHP
Zend Framework实现多文件上传功能实例
2016/03/21 PHP
php实现JWT验证的实例教程
2020/11/26 PHP
Javascript学习笔记4 Eval函数
2010/01/11 Javascript
JavaScript EasyPager 分页函数
2011/05/25 Javascript
『JavaScript』限制Input只能输入数字实现思路及代码
2013/04/22 Javascript
在css加载完毕后自动判断页面是否加入css或js文件
2014/09/10 Javascript
node.js中使用socket.io的方法
2014/12/15 Javascript
浅谈javascript获取元素transform参数
2015/07/24 Javascript
Avalon中文长字符截取、关键字符隐藏、自定义过滤器
2016/05/18 Javascript
JavaScript日期选择功能示例
2017/01/16 Javascript
webpack引入eslint配置详解
2018/01/22 Javascript
JavaScript 对引擎、运行时、调用堆栈的概述理解
2018/10/22 Javascript
在微信小程序中使用vant的方法
2019/06/07 Javascript
layer.open提交子页面的form和layedit文本编辑内容的方法
2019/09/27 Javascript
vue-quill-editor 自定义工具栏和自定义图片上传路径操作
2020/08/03 Javascript
[03:30]完美盛典趣味短片 CSGO2019年度名场面
2019/12/07 DOTA
python中根据字符串调用函数的实现方法
2016/06/12 Python
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
2017/06/21 Python
python书籍信息爬虫实例
2018/03/19 Python
python代码过长的换行方法
2018/07/19 Python
python3+opencv3识别图片中的物体并截取的方法
2018/12/05 Python
Python 实现简单的客户端认证
2020/07/29 Python
CSS3提交意见输入框样式代码
2014/10/30 HTML / CSS
Html5获取高德地图定位天气的方法
2019/12/26 HTML / CSS
英国鞋类及配饰零售商:Kurt Geiger
2017/02/04 全球购物
英国综合网上购物商城:The Hut
2018/07/03 全球购物
New Balance德国官方网站:购买鞋子和服装
2019/08/31 全球购物
德国最大的网上足球商店:11teamsports
2019/09/11 全球购物
Kusmi茶美国官网:优质散叶茶和茶包
2019/10/13 全球购物
绘画设计学生的个人自我评价
2013/09/20 职场文书
中学教师师德师风演讲稿
2014/08/22 职场文书
民主评议党员自我评议范文2014
2014/09/26 职场文书
2014幼儿园保育员工作总结
2014/11/10 职场文书
2015年试用期工作总结
2014/12/12 职场文书