Файлы в папке, отображаемой с помощью PHP, автоматически вводятся в список воспроизведения php/html
У меня есть то, что кажется простой проблемой. Я хотел бы, чтобы мои плейлисты автоматически заполнялись файлами в папке. Так как mp3s добавляются в папку, файлы создаются в списке воспроизведения. Я могу отобразить все файлы в папке и вывести имена файлов в отдельной строке, используя:
<?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>
Любая помощь будет принята с благодарностью.
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: итераторы в каталогах тоже аккуратны