使用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的库,结果发现很多东西
Dec 31 PHP
zend framework配置操作数据库实例分析
Dec 06 PHP
php上传图片到指定位置路径保存到数据库的具体实现
Dec 30 PHP
php将图片保存入mysql数据库失败的解决方法
Dec 27 PHP
CentOS安装php v8js教程
Feb 26 PHP
浅谈PHP中单引号和双引号到底有啥区别呢?
Mar 04 PHP
PHP实现简单搜歌的方法
Jul 28 PHP
Laravel学习教程之request validation的编写
Oct 25 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
Feb 27 PHP
php+ajax 文件上传代码实例
Mar 18 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
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 字符串操作入门教程
2006/12/06 PHP
php线性表顺序存储实现代码(增删查改)
2012/02/16 PHP
php中检查文件或目录是否存在的代码小结
2012/10/22 PHP
PHP实现股票趋势图和柱形图
2015/02/07 PHP
php计算两个文件相对路径的方法
2015/03/14 PHP
php随机获取金山词霸每日一句的方法
2015/07/09 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
yii2安装详细流程
2018/05/23 PHP
js left,right,mid函数
2008/06/10 Javascript
javascript 得到变量类型的函数
2010/05/19 Javascript
用jQuery与JSONP轻松解决跨域访问的问题
2014/02/04 Javascript
在AngularJS应用中实现一些动画效果的代码
2015/06/18 Javascript
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
2015/12/23 Javascript
WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现
2016/01/12 Javascript
JavaScript数组操作详解
2017/02/04 Javascript
各种选择框jQuery的选中方法(实例讲解)
2017/06/27 jQuery
Canvas放置反弹效果随机图形(实例)
2017/08/17 Javascript
vue的安装及element组件的安装方法
2018/03/09 Javascript
vue实现选项卡及选项卡切换效果
2018/04/24 Javascript
postman自定义函数实现 时间函数的思路详解
2019/04/17 Javascript
详解微信小程序自定义组件的实现及数据交互
2019/07/22 Javascript
解决layer图标icon不加载的问题
2019/09/04 Javascript
js脚本中执行java后台代码方法解析
2019/10/11 Javascript
JavaScript数组排序的六种常见算法总结
2020/08/18 Javascript
npm ci命令的基本使用方法
2020/09/20 Javascript
python 中random模块的常用方法总结
2017/07/08 Python
Python高阶函数、常用内置函数用法实例分析
2019/12/26 Python
美国椅子和沙发制造商:La-Z-Boy
2020/10/25 全球购物
北京天润融通.net面试题笔试题
2012/02/20 面试题
装饰资料员岗位职责
2013/12/30 职场文书
八项规定整改措施
2014/02/12 职场文书
中学教师师德承诺书
2014/05/23 职场文书
个人承诺书格式
2014/06/03 职场文书
2014年学校后勤工作总结
2014/12/06 职场文书
初中英语教学反思范文
2016/02/15 职场文书
2019年教师节:送给所有老师的祝福语
2019/09/05 职场文书