0

我有一个看起来很简单的问题。我想让我的播放列表自动填充文件夹中的文件。因此,当 mp3 添加到文件夹中时,文件会在播放列表中生成。我可以显示文件夹中的所有文件,并使用以下命令在自己的行上输出文件名:

<?php
$dir = "app/vd/$val/";
$files = scandir($dir);
foreach ($files as &$file) {
    if ($file!='.' && $file!='..' )
    {
        echo $file.'<br>';
    }
}
?>

我使用以下方法手动将文件添加到播放列表:

<ul id="playlist" style="margin-left:auto; margin-right:auto;">
<li mp3="app/vd/<?php echo $val ?>/whatever.mp3" ogg="app/vd/<?php echo $val ?>/whatever.ogg" artist="<?php echo $val ?>" title="<?php echo $val1 ?>" ></li>

<li mp3="app/vd/<?php echo $val ?>/whatever2.mp3" ogg="app/vd/<?php echo $val ?>/whatever2.ogg" artist="<?php echo $val ?>" title="<?php echo $val1 ?>" ></li> 

任何帮助将不胜感激。

4

1 回答 1

1

把它放在 ul 标签之间...

<ul id="playlist" style="margin-left:auto; margin-right:auto;">
    <?php
    $dir = "app/vd/$val/";
    $files = scandir( $dir );
    foreach ( $files as $file )
        if ( $file != '.' && $file != '..' )
            echo '<li mp3="app/vd/', $val, '/', $file,'" ogg="app/vd/', $val, '/', $file, '" artist="', $val, '" title="', $val1, '" ></li>';
    ?>
</ul>

或者让它看起来更好看

<?php $files = scandir( "app/vd/$val/" ); ?>
<ul id="playlist" style="margin-left:auto; margin-right:auto;">  
    <?php foreach ( $files as $file )
        if ( $file != '.' && $file != '..' )
            echo "<li mp3=\"app/vd/$val/$file\" ogg=\"app/vd/$val/$file\" artist=\"$val\" title=\"$val1\" ></li>"; ?>
</ul>

PS:glob 是一个简洁的小函数http://de3.php.net/manual/en/function.glob.php PPS:目录上的迭代器也很简洁

于 2012-11-30T22:35:10.213 回答