【问题标题】:PHP GLOB more than one pattern at a timePHP GLOB 一次不止一种模式
【发布时间】:2018-08-25 03:01:59
【问题描述】:

代码:

$matches = glob("$searchword*.txt",  GLOB_BRACE)  ;

这行得通,但我也有 $secondword,所以我读了How to define multiple patterns in php glob()

我试过了

$matches = glob("{$searchword},{$secondword}*.txt",  GLOB_BRACE)  ;
$matches = glob("{$searchword,$secondword}*.txt",  GLOB_BRACE)  ;
$matches = glob("{$searchword*.txt},{$secondword*.txt}",  GLOB_BRACE)  ;

$matches = glob("$searchword*.txt",  GLOB_BRACE) && ("$secondword*.txt",  GLOB_BRACE);
$matches = (glob("$searchword*.txt",  GLOB_BRACE) && ("$secondword*.txt",  GLOB_BRACE));

导致语法无效

我想做什么:通过 glob 列出与 $filename 相似的文件 是否可以 glob 类似于 $filename 的文件?

参考: https://www.cowburn.info/2010/04/30/glob-patterns/

【问题讨论】:

  • 那么这里有什么问题?
  • 导致语法无效
  • 您可以使用多种格式而不是多个名称。表示不能放置多个 $searchword,$secondword 。但可以检查多种格式,如{png,jpeg,jpg,gif}。仔细检查链接答案
  • 每个$matches 都会覆盖前一个,每个都需要一个唯一的变量名
  • ok 是否可以 glob 类似于 $filename 的文件?

标签: php design-patterns glob


【解决方案1】:

我的目录中有多个 txt 文件。在这里,我使用了globGLOB_BRACE,它完美地向我展示了预期的结果。

$a = 'import_start_';
$b = '22_02_18_country_';
$m= glob("{{$a},{$b}}*.txt",  GLOB_BRACE);
 // OR // 
// $m= glob({".$a.",".$b."}*.txt", GLOB_BRACE);              
// OR //

print '<pre>';
print_r($m);
print '</pre>';

输出

Array
(
 [0] => import_start_date.txt
 [1] => 22_02_18_country_list.txt
)

【讨论】:

  • 我在第二行中使用变量而不是 import_start 和 22_02_18 会导致崩溃
  • 谢谢我这样做了,然后我刷新了这个页面,发现你也这样做了。很好,但为什么这个页面上的其他人说它不可能。
  • @Nance,很高兴它对您有用,再见,您可以通过单击 TICK 标记来接受它:)
猜你喜欢
  • 1970-01-01
  • 2020-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-18
  • 1970-01-01
  • 2020-10-30
  • 1970-01-01
相关资源
最近更新 更多