使用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 相关文章推荐
使用网络地址转换实现多服务器负载均衡
Oct 09 PHP
PHP命名空间(Namespace)的使用详解
May 04 PHP
php开启openssl的方法
May 15 PHP
PHP比你想象的好得多
Nov 27 PHP
php结合正则获取字符串中数字
Jun 19 PHP
php简单获取复选框值的方法
May 11 PHP
PHP自定义图片缩放函数实现等比例不失真缩放的方法
Aug 19 PHP
轻松掌握php设计模式之访问者模式
Sep 23 PHP
thinkPHP框架整合tcpdf插件操作示例
Aug 07 PHP
PHP命名空间与自动加载类详解
Sep 04 PHP
php如何计算两坐标点之间的距离
Dec 29 PHP
laravel 实现上传图片到本地和前台访问示例
Oct 21 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 strlen mb_strlen计算中英文混排字符串长度
2009/07/10 PHP
如何判断php数组的维度
2013/06/10 PHP
php导入导出excel实例
2013/10/25 PHP
php判断文件夹是否存在不存在则创建
2015/04/09 PHP
基于linnux+phantomjs实现生成图片格式的网页快照
2015/04/15 PHP
php实现将wav文件转换成图像文件并在页面中显示的方法
2015/04/21 PHP
PHP滚动日志的代码实现
2015/06/10 PHP
thinkphp3.2.0 setInc方法 源码全面解析
2018/01/29 PHP
PHP实现的62进制转10进制,10进制转62进制函数示例
2019/06/06 PHP
jQuery EasyUI API 中文文档 - ComboGrid 组合表格
2011/10/13 Javascript
js防止DIV布局滚动时闪动的解决方法
2014/10/30 Javascript
实例分析浏览器中“JavaScript解析器”的工作原理
2016/12/12 Javascript
Bootstrap的Carousel配合dropload.js实现移动端滑动切换图片
2017/03/10 Javascript
JS实现的Unicode编码转换操作示例
2017/04/28 Javascript
简易Vue评论框架的实现(父组件的实现)
2018/01/08 Javascript
JS实现碰撞检测的方法分析
2018/01/19 Javascript
详解Webpack + ES6 最新环境搭建与配置
2018/06/04 Javascript
如何用JavaScript实现功能齐全的单链表详解
2019/02/11 Javascript
微信小程序实现拍照画布指定区域生成图片
2019/07/18 Javascript
Python中列表(list)操作方法汇总
2014/08/18 Python
Python抓取电影天堂电影信息的代码
2016/04/07 Python
python模拟Django框架实例
2016/05/17 Python
Flask框架通过Flask_login实现用户登录功能示例
2018/07/17 Python
python实现时间o(1)的最小栈的实例代码
2018/07/23 Python
Python如何使用字符打印照片
2020/01/03 Python
python Paramiko使用示例
2020/09/21 Python
python requests库的使用
2021/01/06 Python
Python 内存管理机制全面分析
2021/01/16 Python
使用css3实现的tab选项卡代码分享
2014/12/09 HTML / CSS
九月份红领巾广播稿
2014/01/22 职场文书
普罗米修斯教学反思
2014/02/06 职场文书
产品生产计划书
2014/05/07 职场文书
消防志愿者活动方案
2014/08/23 职场文书
老公保证书
2015/01/17 职场文书
winserver2019安装软件一直卡在应用程序正在为首次使用做准备
2022/06/10 Servers
SqlServer常用函数及时间处理小结
2023/05/08 SQL Server