foreach не зацикливается, я ссылаюсь неправильно?

У меня есть следующий код в проигрывателе фоновой музыки для киоска: —

<audio id="player" autoplay="true" loop="true"  >
<?php
$music = glob("./music/*");  // get all files in the music directory
shuffle($music);
foreach ($music as $song){
echo '<source src="'. $song . '" type="audio/ogg">';
}

?>
</audio>
<?php var_dump($music); ?>

Это только запись одного исходного элемента, соответствующего первому члену (перемешанного) массива.

Отладочный дамп перечисляет полный массив, поэтому я полагаю, что у меня что-то не так в выражении foreach или в выражении echo.

0

Решение

Да, это правильно, вам нужно исправить glob('<need some change here>') это просто проблема пути, иначе код идеален.

C:\wamp64\www\phpDiary\program\1.php:10:
array (size=5)
0 => string '1 (2).jpg' (length=9)
1 => string '2.php' (length=5)
2 => string '1.php' (length=5)
3 => string '1 (1).jpg' (length=9)
4 => string '1 (3).jpg' (length=9)

Это вывод вашего кода. я думаю, что его $ music = glob («../ music / *»);

Двойная точка, чтобы вернуться в каталог

замените свой код этим.

<audio id="player" autoplay="true" loop="true" controls>
<?php
$music = glob("../music/*");  // get all files in the music directory
shuffle($music);
foreach ($music as $song){
// echo '<source src="'. $song . '" type="audio/ogg">';
echo "<source src='".$song."' type='audio/ogg'>";
// echo "hello";
}
?>
</audio>
0

Другие решения

Моя проблема заключается в том, что элемент HTML5 Audio не имеет возможности указать несколько источников для последовательного воспроизведения. Многочисленные исходные теги просто указывают альтернативы (для покрытия неполной браузерной поддержки форматов), что я уже знал.
Что сбило меня с толку, так это то, что источник представления показал вычисленный источник, показывая тег источника только первого успешного источника. Остальные были видны через Инспектора Элементов.

Поэтому мне нужно использовать решение javascript, такое как http://www.lastrose.com/html5-audio-video-playlist/
Это будет завтрашняя задача 🙂 Спасибо за ваше время.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector