使用PHP函数scandir排除特定目录


Posted in PHP onJune 12, 2014

scandir()函数返回一个数组,其中包含指定路径中的文件和目录。如下所示:

例子:

<?php
print_r(scandir('test_directory'));
?>

输出:
Array
(
[0]=>.
[1]=>..
[2]=>1.txt
[3]=>2.txt
)

大部分情况只需要该目录的文件列表数组,如下:
Array
(
[0]=>1.txt
[1]=>2.txt
)

一般是通过排除“.”或者“..”的数组项解决的:
<?php
functionfind_all_files($dir)
{
    $root = scandir($dir);
    foreach($rootas$value)
    {
        if($value === '.' || $value === '..'){
            continue;
        }
        if(is_file("$dir/$value")){
            $result[] = "$dir/$value";
            continue;
        }
        foreach(find_all_files("$dir/$value")as$value)
        {
            $result[] = $value;
            }
        }
    return$result;
    }
?>

另外一种方法,利用array_diff函数,剔除scandir函数执行得到的数组:
<?php
$directory='/path/to/my/directory';
$scanned_directory=array_diff(scandir($directory),array('..','.'));
?>

通常情况代码管理会产生.svn文件,或者限制目录访问权限的.htaccess等文件。所以通过array_diff函数来过滤会更方便。
PHP 相关文章推荐
PHP读取XML值的代码(推荐)
Jan 01 PHP
PHP register_shutdown_function函数的深入解析
Jun 03 PHP
探讨:如何编写PHP扩展
Jun 13 PHP
解析php根据ip查询所在地区(非常有用,赶集网就用到)
Jul 01 PHP
PHP中变量引用与变量销毁机制分析
Nov 15 PHP
php实现发送微信模板消息的方法
Mar 07 PHP
PHP图像裁剪缩略裁切类源码及使用方法
Jan 07 PHP
PHPStorm+XDebug进行调试图文教程
Jun 13 PHP
[原创]php实现 data url的图片生成与保存
Dec 04 PHP
PHP结合Redis+MySQL实现冷热数据交换应用案例详解
Jul 09 PHP
解决tp5在nginx下修改配置访问的问题
Oct 16 PHP
XAMPP升级PHP版本实现步骤解析
Sep 04 PHP
使用配置类定义Codeigniter全局变量
Jun 12 #PHP
CodeIgniter输出中文乱码的两种解决办法
Jun 12 #PHP
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
Jun 12 #PHP
Codeigniter中禁止A Database Error Occurred错误提示的方法
Jun 12 #PHP
php 过滤英文标点符号及过滤中文标点符号代码
Jun 12 #PHP
PHP读取RSS(Feed)简单实例
Jun 12 #PHP
Codeigniter实现智能裁剪图片的方法
Jun 12 #PHP
You might like
php中看实例学正则表达式
2006/12/25 PHP
PHP高级编程实例:编写守护进程
2014/09/02 PHP
php恢复数组的key为数字序列的方法
2015/04/28 PHP
php实现表单提交上传文件功能
2018/05/28 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
关于PHP求解三数之和问题详析
2020/11/09 PHP
JAVASCRIPT对象及属性
2007/02/13 Javascript
JQuery 小练习(实例代码)
2009/08/07 Javascript
解决Extjs 4 Panel作为Window组件的子组件时出现双重边框问题
2013/01/11 Javascript
用js的document.write输出的广告无阻塞加载的方法
2014/06/05 Javascript
jquery.map()方法的使用详解
2015/07/09 Javascript
jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
2015/12/03 Javascript
javascript设计模式之单体模式学习笔记
2017/02/15 Javascript
angularjs之$timeout指令详解
2017/06/13 Javascript
解析Vue.js中的组件
2018/02/02 Javascript
微信小程序 slot踩坑的解决
2019/04/01 Javascript
vue搜索和vue模糊搜索代码实例
2019/05/07 Javascript
轻松学习JavaScript函数中的 Rest 参数
2019/05/30 Javascript
vue resource发送请求的几种方式
2019/09/30 Javascript
vue 获取元素额外生成的data-v-xxx操作
2020/09/09 Javascript
Python模块包中__init__.py文件功能分析
2016/06/14 Python
tensorflow 获取变量&amp;打印权值的实例讲解
2018/06/14 Python
Python django搭建layui提交表单,表格,图标的实例
2019/11/18 Python
win10从零安装配置pytorch全过程图文详解
2020/05/08 Python
CSS3 实现发光边框特效
2020/11/11 HTML / CSS
HTML5中使用postMessage实现Ajax跨域请求的方法
2016/04/19 HTML / CSS
英国儿童设计师服装的领先零售商:Base
2019/03/17 全球购物
名企HR怎样看待求职信
2014/02/23 职场文书
献爱心捐款倡议书
2014/05/14 职场文书
最美乡村医生事迹材料
2014/06/02 职场文书
关于工作经历的证明书
2014/10/11 职场文书
行政处罚决定书
2015/06/24 职场文书
2019年入党思想汇报
2019/03/25 职场文书
为什么中国式养孩子很累?
2019/08/07 职场文书
SQL语句中JOIN的用法场景分析
2021/07/25 SQL Server
USB TYPE-C 或将成为所有智能手机充电标准
2022/04/21 数码科技