您好我想列出所有具有前缀myfile的特定文件 - ..
这是我当前的代码......并且没有列出任何文件
<select name="s1">
<option value="" selected="selected">-----</option>
<?php
foreach(glob(dirname(__FILE__) . '/*') as $filename){
$filename = basename($filename);
// if (preg_match('/\.(php)$/i', $filename)) {
if (preg_grep('~^myfile-.*\.php$~', $filename)) {
echo "<option value='" . $filename . "'>".$filename."</option>";
}
}
?>
如果我使用此...列出了所有文件
if (preg_match('/\.(php)$/i', $filename)) {
如果使用此
,则不会列出任何文件if (preg_grep('~^myfile-.*\.php$~', $filename)) {
答案 0 :(得分:1)
为什么要这么难?
If(substr($filename, 0, 7) == "myfile-"){
echo "<option value='" . $filename . "'>".$filename."</option>";
}
Substr查看前七个字符并查看它&#34; myfile - &#34;
答案 1 :(得分:1)
最短路:
foreach (glob(dirname(__FILE__)."myfile-*.php") as $filename) {
echo "<option value='" . $filename . "'>".$filename."</option>";
}
答案 2 :(得分:0)
我想出来..但是......谢谢大家
<select name="s1">
<option value="" selected="selected">-----</option>
<?php
foreach(glob(dirname(__FILE__) . '/myfile-*.{php}', GLOB_BRACE) as $filename){
$filename = basename($filename);
echo "<option value='" . $filename . "'>".$filename."</option>";
}
?>
</select>