所以,我尝试使用PHP和glob在我的数据库中搜索.wav声音文件是不行的。
我已将四个声音文件保存到指定的目录中,但是当我尝试使用glob时,我什么都没收到。
ATTEMPT 1:
$files = array();
foreach (glob($authorURL.'/'.$titleURL."*.wav") as $file) {
$files[] = $file;
echo $file;
}
ATTEMPT 2:
$dir1 = $authorURL.'/'.$titleURL.'/'.$wordsURL;
$dir = glob("$dir1/*.{wav}");
$files = scandir($dir);
if(!empty($files)) {
foreach ($files as $file)
print " <div class='fileicon'>
<audio controls='controls'>
<source src='".$dir.$file."' />
</audio>
<button class='button' disabled>Reply</button>
</a>
</div>";
}
else
{
echo "There are no annotations for this book";
}
任何帮助将不胜感激!我不确定我是否使用了正确的glob格式,但每次搜索时,似乎都有不同的版本({}
,""
)。
答案 0 :(得分:0)
我认为您使用了错误的glob语法。根据{{3}},使用花括号(表示有限的更改)时glob的语法要求您指定一个特殊参数
glob还支持与{n1,n2等}的有限交替。你有 将GLOB_BRACE指定为glob的第二个参数以使其成为 工作。例如,如果你执行了glob(&#34; {a,b,c} .php&#34;,GLOB_BRACE) 在以下文件列表中:
a.php b.php c.php
尝试执行此操作,或者:
$dir = glob("$dir1/*.{wav}", GLOB_BRACE);
OR
$dir = glob("$dir1/*.wav");