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 相关文章推荐
BBS(php & mysql)完整版(四)
Oct 09 PHP
PHP 读取和修改大文件的某行内容的代码
Oct 30 PHP
php动态实现表格跨行跨列实现代码
Nov 06 PHP
php图片的裁剪与缩放生成符合需求的缩略图
Jan 11 PHP
PHP生成图片验证码、点击切换实例
Jun 25 PHP
php程序员应具有的7种能力小结
Nov 27 PHP
提高php编程效率技巧
Aug 13 PHP
PHP使用星号隐藏用户名,手机和邮箱的实现方法
Sep 22 PHP
php实现在新浪云中使用imagick生成缩略图并上传的方法
Sep 26 PHP
thinkPHP5.0框架整体架构总览【应用,模块,MVC,驱动,行为,命名空间等】
Mar 25 PHP
Mac系统完美安装PHP7详细教程
Jun 06 PHP
阿里对象存储OSS在laravel框架中的使用方法
Oct 13 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
根德Grundig S400/S500/S700电路分析
2021/03/02 无线电
实时抓取YAHOO股票报价的代码
2006/10/09 PHP
PHP版微信公众平台红包API
2015/04/02 PHP
限制文本字节数js代码
2007/03/06 Javascript
JS 创建对象(常见的几种方法)
2008/11/03 Javascript
jsTree 基于JQuery的排序节点 Bug
2011/07/26 Javascript
jQuery自定义添加"$"与解决"$"冲突的方法
2015/01/19 Javascript
基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)
2015/12/29 Javascript
jQuery Mobile动态刷新页面样式的实现方法
2016/05/28 Javascript
Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题的解决方法
2017/02/27 Javascript
原生js实现验证码功能
2017/03/16 Javascript
微信小程序中post方法与get方法的封装
2017/09/26 Javascript
基于react后端渲染模板引擎noox发布使用
2018/01/11 Javascript
Vue官网todoMVC示例代码
2018/01/29 Javascript
javaScript中"=="和"==="的区别详解
2018/03/16 Javascript
vue计算属性get和set用法示例
2019/02/08 Javascript
vue项目部署到nginx/tomcat服务器的实现
2019/08/26 Javascript
Python随机生成彩票号码的方法
2015/03/05 Python
python通过字典dict判断指定键值是否存在的方法
2015/03/21 Python
在Python的Tornado框架中实现简单的在线代理的教程
2015/05/02 Python
python opencv检测目标颜色的实例讲解
2018/04/02 Python
深入了解Django View(视图系统)
2019/07/23 Python
python Django编写接口并用Jmeter测试的方法
2019/07/31 Python
Python 简单计算要求形状面积的实例
2020/01/18 Python
Python requests模块cookie实例解析
2020/04/14 Python
python 解决Windows平台上路径有空格的问题
2020/11/10 Python
环法自行车赛官方商店:Le Tour de France
2017/08/27 全球购物
大学毕业生通用自荐信范文
2013/10/31 职场文书
应届生会计求职信
2013/11/11 职场文书
校园主题婚礼活动策划方案
2014/09/15 职场文书
软弱涣散基层党组织整改方案
2014/10/25 职场文书
清明扫墓感想
2015/08/11 职场文书
学校体育节班级口号
2015/12/25 职场文书
远程教育学习心得体会
2016/01/23 职场文书
2019年员工旷工保证书!
2019/06/28 职场文书
iPhone13 Pro外观确定,升级4800万镜头,4月20日发新品
2021/04/15 数码科技