【问题标题】:glob() and asterisks in curly bracketsglob() 和大括号中的星号
【发布时间】:2013-03-06 09:44:44
【问题描述】:

我想找到一些特殊的文件名。因此我使用glob()

$foundResults = glob($directory . '{data_*.csv, log_*.txt}', GLOB_BRACE);

此代码仅找到我的第一个模式data_*.csv。那么大括号之间似乎不允许使用星号?

我有哪些选择?我只能想到使用for each 构造多次调用glob()。还是有更好的算法/功能?

【问题讨论】:

    标签: php filenames design-patterns glob


    【解决方案1】:

    这对我来说很好用:

    $foundResults = glob('{tes*.php,tes*.xls}', GLOB_BRACE);
    
    echo "<pre>";
    print_r($foundResults);
    

    输出:

    Array
    (
        [0] => test.php
        [1] => test.xls
    )
    

    检查$directory 的值 检查尾部斜杠/。没有的话就放。

    【讨论】:

    • 我有斜线。我认为它的服务器特定? Here 是一个类似的问题。仅找到第一个条目。我也尝试删除空格,但这是同样的问题。
    • 好的,问题是空格。在我遇到缓存问题之前没有看到当前结果...
    • 好的..所以你修好了...酷:D
    • 但我的第一个问题确实是斜杠。因此,您会获得 +1。
    【解决方案2】:

    正确的调用没有空格字符

    $foundResults = glob($directory . '{data_*.csv,log_*.txt}', GLOB_BRACE);
    

    我从这个话题中得到了提示:help with glob/GLOB_BRACE

    【讨论】:

      猜你喜欢
      • 2014-05-24
      • 2015-10-23
      • 1970-01-01
      • 2012-01-11
      • 2016-06-26
      • 2021-07-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多