我有一个目录,并希望只获取该目录中所有文件的部分文件名。
例如,如果我有一个包含以下文件的目录:
file_a1.php
file_b2.php
file_c3.php
我想要一个阵列......
Array
(
[0] => a1
[1] => b2
[2] => c3
)
...来自目录中的文件。
目前我正在使用glob():
$files = glob(__DIR__ . '/directory/file_*.php');
然后循环遍历数组中的每个值并从开头剥离'/ directory / file_',从每个字符串的末尾剥离'.php'。当然有更好的方法来做到这一点?除了我一直在做或使用正则表达式选择我想要的。
谢谢!
答案 0 :(得分:1)
您可以使用str_replace:
$files = array(
__DIR__ . '/directory/file_a1.php',
__DIR__ . '/directory/file_a2.php',
__DIR__ . '/directory/file_a3.php');
$new_files = array();
foreach ($files as $file) {
$new_files[] = str_replace(array(__DIR__ . '/directory/file_', '.php'), '', $file);
}
var_dump($new_files);
结果:
array (size=3)
0 => string 'a1' (length=2)
1 => string 'a2' (length=2)
2 => string 'a3' (length=2)