2016-05-27 5 views
1

私は2つのphp配列を持っています。配列aには、サーバー上のmp3ファイルのパスを表す文字列が入っています。配列bには、mp4ファイルのパスを表す文字列が含まれています。html5オーディオおよびビデオプレーヤーでphp配列をエコーするには?

が、これは動作しませんでした

$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>'; 

利用、二重引用符あなたがPHPで変数

+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>'; 

をしかし、Iなぜファイル名を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

ああ、それは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を再度開きます。 この行の場合echo '<source src=<?php $var ?> type="audio/mpeg">';このようなコードを作ってくださいecho '<source src="$var" type="audio/mpeg">';

関連する問題