繁体   English   中英

php file_exist与正则表达式

[英]Php file_exist with regex

我正在尝试使用正则表达式模式搜索文件。

目录路径是:

$css_dir = MY_PLUGIN_DIR.'/source/css/';

CSS文件名开头为:

$css_prefix = 'hap_css_';

并以:

'.css'

中间有一些未知字符。

我不知道如何用变量构造正则表达式模式,以及如何用正则表达式构造文件。

谢谢!

您可以使用glob()

$files = glob($css_dir . $css_prefix . '*.css');

但是,您必须推出自己的基于DirectoryIterator的解决方案才能进行更复杂的过滤:

$dir = new DirectoryIterator($css_dir);
$pattern = '/^' . preg_quote($css_prefix) . '.+\\.css$' . '/';
foreach ($dir as $fileInfo) {
  if (preg_match($pattern, $fileInfo->getBaseName())) {
    // match!
  }
}

(也可以集成RegexIterator ):

也可以使用scandir()

$pattern = '/^' . preq_quote($css_prefix) . '.+\\.css$' . '/';

$files = array_filter(scandir($css_dir), function ($filename) {
  return preg_match($pattern, $filename);
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM