嘿伙计们正在寻找一种方法来显示目录中的所有mp3文件
这是我的代码:
if ($handle = opendir($dirPath)) {
while (false !== ($file = readdir($handle))) {
if ($file = ".mp3" && $file = "..") {
echo '
<track>
<location>'.$dirPath.$file.'</location>
<creator>'.$file.'</creator>
</track>
';
}
}
closedir($handle);
}
现在我知道这个脚本只会在父目录中显示mp3文件,但我需要在父目录内的所有目录中显示所有mp3文件
问题是这个代码无法在子目录中显示文件!
答案 0 :(得分:0)
你必须做一个递归函数来搜索所有的MP3。
此外,您可能意味着if ($file == ".mp3" && $file == "..") {
而不是if ($file = ".mp3" && $file = "..") {
,并且在更改之后,您会得到一个始终为假的条件。你想在那里做什么?
答案 1 :(得分:0)
该代码根本不起作用。当你将$ file变量设置为“..”时,结果将是很多包含$ dirPath和“..”的xml。
这就是你要找的东西:)
$it = new RecursiveDirectoryIterator('path/to/files/');
foreach (new RecursiveIteratorIterator($it) as $file)
{
echo $file->getPathname() . '<br />';
}
答案 2 :(得分:0)
if ($file = ".mp3" && $file = "..") {
不起作用(if ($file == ".mp3" && $file == "..") {
也是错误的)。该行应如下所示:
if (substr($file,-4) == ".mp3" || $file == "..") {
如果你想显示“..” - 否则它就像这样:
if (substr($file,-4) == ".mp3") {