[英]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.