2016-05-27 2 views
1

У меня есть два php-массива, массив содержит строки, представляющие пути для mp3-файлов на сервере. Массив b содержит строки, представляющие пути для файлов mp4.Как эхо php-массив в html5 аудио и видео плеерах?

Давайте этот простой пример

$test = 'a.mp3'; 
$var = json_encode($test); 
echo '<audio controls>'; 
echo '<source src=<?php $var ?> type="audio/mpeg">'; 
echo 'Your browser does not support the audio element.'; 
echo '</audio>'; 

это не сработало. Это не работает

$test = 'a.mp3'; 
$var = json_encode($test); 
echo '<audio controls>'; 
echo '<source src=$var type="audio/mpeg">'; 
echo 'Your browser does not support the audio element.'; 
echo '</audio>'; 

С кавычками, без кавычек, ничего не работает. Я даже пробовал без json_encode и не работал явно. так как эхопеременные переменные в html5 игроков? Затем я смогу пройти через массив, создавая список воспроизведения.

ответ

2
$test = 'a.mp3'; 
$var = json_encode($test); 
echo '<audio controls>'; 
echo "<source src=$var type='audio/mpeg'>"; 
echo 'Your browser does not support the audio element.'; 
echo '</audio>'; 

Используйте двойные кавычки, если вы хотите напечатать переменную

+0

он работает! спасибо – Lynob

+0

поэтому его двойные кавычки перед источником! и я просыпался до 4 утра, пытаясь это исправить. я ненавижу программирование, я ненавижу свою жизнь, почему я выбрал эту неудачную карьеру – Lynob

2

переменные не расширяется внутри отдельной ' кавычки, только внутри двойной " кавычки (если одинарные кавычки, в конечном счете в двойных кавычках), так что ваш второй подход должен почти работал:

$test = 'a.mp3'; 
$var = json_encode($test); 
echo '<audio controls>'; 
echo "<source src=$var type='audio/mpeg'>"; 
echo 'Your browser does not support the audio element.'; 
echo '</audio>'; 

Однако я не понимаю, почему вы JSON кодируете имя файла. Если a.mp3 находится в той же папке, что и этот файл, то просто:

$test = 'a.mp3'; 
echo '<audio controls>'; 
echo "<source src='$test' type='audio/mpeg'>"; 
echo 'Your browser does not support the audio element.'; 
echo '</audio>'; 
+0

У меня есть 'json_encode', в этом конкретном примере он находится в одной папке, но это не всегда так. и я скопировал вставку вашего примера, не работал – Lynob

+0

ah ok, это объясняет, почему вы JSON закодировали его сейчас. Из-за этого я добавил одиночные кавычки вокруг переменной src. Я удалил их. –

+1

теперь он будет работать, это двойная цитата перед источником, я просто принял парня с более низким представителем, потому что он сказал это первым и побудил его дать больше ответов! – Lynob

0
$arrays = array(
    'mp3' => 'http://example.com/file/filename.mp3', 
    'mp4' => 'http://example.com/file/filename.mp4', 
); 

echo '<audio controls>'; 
echo '<source src='.$arrays['mp3'].' type="audio/mpeg">'; 
echo 'Your browser does not support the audio element.'; 
echo '</audio>'; 
0

В PHP вы не можете сделать снова открыть тег php <?php. для этой строки echo '<source src=<?php $var ?> type="audio/mpeg">'; вам следует просто сделать код следующим образом echo '<source src="$var" type="audio/mpeg">';