我想搜索目录或其所有子目录中的文件和文件夹。
我正在使用此代码:
<?php
$a = new RegexIterator(
new RecursiveIteratorIterator(
new RecursiveDirectoryIterator('files')
),
'/Desi Indian/',
RegexIterator::MATCH
);
foreach ($a as $v) {
echo "$v\n"; //$v will be the filename
}
?>
但问题是,就像文件名是&#39; Wayne&#39;如果搜索字符串是&#39; wayne&#39;,则它不会显示任何搜索结果。想法?
答案 0 :(得分:1)
但是,问题是,像文件名是'Wayne'和搜索字符串 是'wayne',然后它不会显示任何搜索结果。
这听起来像是一个搜索不区分大小写的问题。正则表达式可以被赋予额外的处理标志,其中i
用于手头的目的。因此,只需将您的模式替换为'/Desi Indian/i'
,您应该匹配文件名,而不管它们的情况如何。
您可能想要了解一下这些标志或修饰符的调用方式:http://php.net/manual/en/reference.pcre.pattern.modifiers.php
答案 1 :(得分:1)
使用
'/YOURSEARCHSTRING/i'
i
模式修饰符将匹配大写和小写字