您的位置:澳门402永利com > 计算机 网络 > PHP中使用glob函数实现一句话删除某个目录下的所

PHP中使用glob函数实现一句话删除某个目录下的所

发布时间:2019-09-23 20:45编辑:计算机 网络浏览(90)

    收集自网上:

    一,函数原型
    array glob ( string pattern [, int flags] )
    注意:glob()函数获取的是一个数组,其返回一个包含有匹配文件/目录的数组。如果出错返回FALSE

    复制代码 代码如下:

    二,版本兼容
    PHP 4 >= 4.3.0, PHP 5

    array_map('unlink',glob('*'));

    三,函数的基础用法与实例

    抛砖引玉而已,有很多朋友可能还不知道有glob这个函数吧。更多的用法看手册吧。

    1,匹配目录下.txt后缀的文件

    PHP glob() 函数

     

    定义和用法

     代码如下

    glob() 函数返回匹配指定模式的文件名或目录。
    该函数返回一个包含有匹配文件 / 目录的数组。如果出错返回 false。

    <?php
    foreach (glob("*.txt") as $filename) {
        echo $filename;
    }
    ?>

    语法

    2,实现兼容大小写匹配

    复制代码 代码如下:

     

    glob(pattern,flags)

     代码如下

    参数

    <?php
    $pattern = sql_case("*.pdf");
    var_dump(glob($pattern));
    ?>

    描述

    类似如下

    file 必需。规定检索模式。 size

     

    可选。规定特殊的设定。

     代码如下

    GLOB_MARK - 在每个返回的项目中加一个斜线 GLOB_NOSORT - 按照文件在目录中出现的原始顺序返回(不排序) GLOB_NOCHECK - 如果没有文件匹配则返回用于搜索的模式 GLOB_NOESCAPE - 反斜线不转义元字符 GLOB_BRACE - 扩充 {a,b,c} 来匹配 'a','b' 或 'c' GLOB_ONLYDIR - 仅返回与模式匹配的目录项 GLOB_ERR - 停止并读取错误信息(比如说不可读的目录),默认的情况下忽略所有错误

    <?php
    foreach (array_merge(glob("*.pdf"),glob("*.PDF")) as $filename) {
         echo "$filename n";
    }
    ?>

    注释:GLOB_ERR 是 PHP 5.1 添加的。

    3,获取目录下的所有子目录

    使用例子

     

    例子 1

     代码如下

    复制代码 代码如下:

    <?php
    function listdirs($dir) {
       static $alldirs = array();
       $dirs = glob($dir . '/*', GLOB_ONLYDIR);
       if (count($dirs) > 0) {
           foreach ($dirs as $d) $alldirs[] = $d;
       }
       foreach ($dirs as $dir) listdirs($dir);
       return $alldirs;
    }
    ?>

    <?php
    print_r(glob("*.txt"));
    ?>

    4,匹配所有文件

    输出类似:

     

    复制代码 代码如下:

     代码如下

    Array
    (
    [0] => target.txt
    [1] => source.txt
    [2] => test.txt
    [3] => test2.txt
    )

    <?php
    $files = glob('{,.}*', GLOB_BRACE);
    ?>

    例子 2

    四,注意事项
    1,不能作用于远程文件,被检查的文件必须通过服务器的文件系统访问。
    2,使用 glob("[myfolder]/*.txt")将不能匹配,解决方法为 glob("[myfolder]/*.txt"),注意[]字符应用。
    3,其次是第二个参数flags有效标记说明
    (1)GLOB_MARK - 在每个返回的项目中加一个斜线
    (2)GLOB_NOSORT - 按照文件在目录中出现的原始顺序返回(不排序)
    (3)GLOB_NOCHECK - 如果没有文件匹配则返回用于搜索的模式
    (4)GLOB_NOESCAPE - 反斜线不转义元字符
    (5)GLOB_BRACE - 扩充 {a,b,c} 来匹配 'a','b' 或 'c'
    (6)GLOB_ONLYDIR - 仅返回与模式匹配的目录项 注意: 在 PHP 4.3.3 版本之前 GLOB_ONLYDIR 在 Windows 或者其它不使用 GNU C 库的系统上不可用。
    (7)GLOB_ERR - 停止并读取错误信息(比如说不可读的目录),默认的情况下忽略所有错误 注意: GLOB_ERR 是 PHP 5.1 添加的。

    复制代码 代码如下:

    glob()函数的典型应用是读取数据表文件,如获取某个目录下的.sql后缀文件,这种在单元测试中非常实用,可实现读取sql文件重建数据库等,具体请参与PHP手册,请关注下一期PHP内置函数研究系列

    <?php
    print_r(glob("*.*"));
    ?>

    其它参考

    输出类似:

     

    复制代码 代码如下:

     代码如下

    Array
    (
    [0] => contacts.csv
    [1] => default.php
    [2] => target.txt
    [3] => source.txt
    [4] => tem1.tmp
    [5] => test.htm
    [6] => test.ini
    [7] => test.php
    [8] => test.txt
    [9] => test2.txt
    )

    例子 1
    <?php
    print_r(glob("*.txt"));
    ?>输出类似:

    Ps:这是一个神奇的函数。

    Array
    (
    [0] => target.txt
    [1] => source.txt
    [2] => test.txt
    [3] => test2.txt
    )例子 2
    <?php
    print_r(glob("*.*"));
    ?>输出类似:

    Array
    (
    [0] => contacts.csv
    [1] => default.php
    [2] => target.txt
    [3] => source.txt
    [4] => tem1.tmp
    [5] => test.htm
    [6] => test.ini
    [7] => test.php
    [8] => test.txt
    [9] => test2.txt
    )

    本文由澳门402永利com发布于计算机 网络,转载请注明出处:PHP中使用glob函数实现一句话删除某个目录下的所

    关键词:

上一篇:phpmyadmin中禁止外网使用的方法

下一篇:没有了