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 相关文章推荐
set_include_path在win和linux下的区别
Jan 10 PHP
php cookis创建实现代码
Mar 16 PHP
PHP 页面跳转到另一个页面的多种方法方法总结
Jul 07 PHP
SWFUpload与CI不能正确上传识别文件MIME类型解决方法分享
Apr 18 PHP
PHP简洁函数(PHP简单明了函数语法)
Jun 10 PHP
php 操作调试的方法
Jul 12 PHP
php数组声明、遍历、数组全局变量使用小结
Jun 05 PHP
php实现网站顶踩功能的完整前端代码
Jul 19 PHP
织梦sitemap地图实时推送给百度的教程
Aug 03 PHP
Laravel框架分页实现方法分析
Jun 12 PHP
PHP的mysqli_thread_id()函数讲解
Jan 24 PHP
YII2.0框架行为(Behavior)深入详解
Jul 26 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
全国FM电台频率大全 - 21 海南省
2020/03/11 无线电
php session 预定义数组
2009/03/16 PHP
PHP 实现多服务器共享 SESSION 数据
2009/08/15 PHP
浅谈ThinkPHP的URL重写
2014/11/25 PHP
PHP实现求两个字符串最长公共子串的方法示例
2017/11/17 PHP
PHP用swoole+websocket和redis实现web一对一聊天
2019/11/05 PHP
漂亮的widgets,支持换肤和后期开发新皮肤
2007/04/23 Javascript
getElementById在任意一款浏览器中都可以用吗的疑问回复
2007/05/13 Javascript
JS判断元素为数字的奇异写法分享
2012/08/01 Javascript
JavaScript计算两个日期时间段内日期的方法
2015/03/16 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
2015/12/04 Javascript
Query常用DIV操作获取和设置长度宽度的实现方法
2016/09/19 Javascript
javascript 判断一个对象为数组的方法
2017/05/03 Javascript
layui导航栏实现代码
2017/05/19 Javascript
vue forEach循环数组拿到自己想要的数据方法
2018/09/21 Javascript
angular.js实现列表orderby排序的方法
2018/10/02 Javascript
js canvas实现5张图片合成一张图片
2019/07/15 Javascript
vue+element 实现商城主题开发的示例代码
2020/03/26 Javascript
详解vue 中 scoped 样式作用域的规则
2020/09/14 Javascript
Python判断一个文件夹内哪些文件是图片的实例
2018/12/07 Python
Python中正则表达式的用法总结
2019/02/22 Python
在Django的View中使用asyncio的方法
2019/07/12 Python
浅析Python语言自带的数据结构有哪些
2019/08/27 Python
python虚拟环境模块venv使用及示例
2020/03/04 Python
Python生成器实现简单"生产者消费者"模型代码实例
2020/03/27 Python
python 比较字典value的最大值的几种方法
2020/04/17 Python
pytorch下的unsqueeze和squeeze的用法说明
2021/02/06 Python
html5 css3 动态气泡按钮实例演示
2012/12/02 HTML / CSS
安全的后院和健身蹦床:JumpSport
2019/07/15 全球购物
同步和异步有何异同,在什么情况下分别使用他们
2013/04/09 面试题
市场营销专业个人求职信范文
2013/12/14 职场文书
2014年打非治违工作总结
2014/11/13 职场文书
2014年幼儿园保育工作总结
2014/12/02 职场文书
世界红十字日活动总结
2015/02/10 职场文书
自荐信模板大全
2015/03/27 职场文书
如何使用CocosCreator对象池
2021/04/14 Javascript