使用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运行时强制显示出错信息的代码
Apr 20 PHP
PHP的一个基础知识 表单提交
Jul 04 PHP
php适配器模式介绍
Aug 14 PHP
解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql
Jun 26 PHP
深入解析php中的foreach函数
Aug 31 PHP
php通过字符串调用函数示例
Mar 02 PHP
PHP制作万年历
Jan 07 PHP
php中异常处理方法小结
Jan 09 PHP
php中switch与ifelse的效率区别及适用情况分析
Feb 12 PHP
支持中文的PHP按字符串长度分割成数组代码
May 17 PHP
PHP下载文件函数与用法示例
Sep 27 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
Oct 30 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实现上传文件并存进数据库的方法
2015/07/16 PHP
php session 写入数据库
2016/02/13 PHP
Yii2中datetime类的使用
2016/12/17 PHP
微信接口生成带参数的二维码
2017/07/31 PHP
PHP7变量处理机制修改
2021/03/09 PHP
jQuery库与其他JS库冲突的解决办法
2010/02/07 Javascript
多种方法判断Javascript对象是否存在
2013/09/22 Javascript
js实现简单锁屏功能实例
2015/05/27 Javascript
JS将滑动门改为选项卡(需鼠标点击)的实现方法
2015/09/27 Javascript
jQuery实现仿QQ头像闪烁效果的文字闪动提示代码
2015/11/03 Javascript
jQuery实现的省市联动菜单功能示例【测试可用】
2017/01/13 Javascript
angular实现图片懒加载实例代码
2017/06/08 Javascript
js 提取某()特殊字符串长度的实例
2017/12/06 Javascript
简述vue状态管理模式之vuex
2018/08/29 Javascript
微信小程序实现的绘制table表格功能示例
2019/04/26 Javascript
vue input标签通用指令校验的实现
2019/11/05 Javascript
js实现拖拽与碰撞检测
2020/09/18 Javascript
Python中利用sqrt()方法进行平方根计算的教程
2015/05/15 Python
python3编码问题汇总
2016/09/06 Python
Pycharm保存不能自动同步到远程服务器的解决方法
2019/06/27 Python
python支付宝支付示例详解
2019/08/22 Python
Python 切分数组实例解析
2019/11/07 Python
Python动态导入模块:__import__、importlib、动态导入的使用场景实例分析
2020/03/30 Python
python中uuid模块实例浅析
2020/12/29 Python
Surfdome西班牙:世界上最受欢迎的生活方式品牌
2019/02/13 全球购物
资深财务管理人员自我评价
2013/09/22 职场文书
职高毕业生自我鉴定
2013/10/21 职场文书
信息技术专业大学生职业生涯规划书
2014/01/24 职场文书
活动倡议书范文
2014/05/13 职场文书
公司董事长助理工作职责
2014/07/12 职场文书
我爱家乡演讲稿
2014/09/12 职场文书
大学四年个人总结
2015/03/03 职场文书
2015年助理政工师工作总结
2015/05/26 职场文书
课文《燕子》教学反思
2016/02/17 职场文书
2016年党风廉政建设承诺书
2016/03/25 职场文书
使用canvas对video视频某一刻截图功能
2021/09/25 HTML / CSS