生成的HTML显示php符号而不是值

时间:2014-07-29 02:31:16

标签: php html audio symbols

我希望能够通过在播放器中嵌入源来播放我数据库中的所有音频文件。

我创建了一个sql查询,它将返回一个包含所有mp3名称的数组。

然后我使用while循环

while($row = mysqli_fetch_array($result)) {
$sourcefile=$row['location'];
echo '<audio controls>';
echo '<source src="$sourcefile" type="audio/mpeg">';
echo "$sourcefile";
echo '</audio>';
}

这导致以下html:

<audio controls>
<source src="$sourcefile" type"audio/mpeg">
</audio>

如果我明确地用audioname.mp3替换音频标签中的$ sourcefile,它就可以了。

为了确保php变量获得正确的值,我使用echo语句来查看它包含的值,它确实是songname.mp3。

可能出现什么问题?

2 个答案:

答案 0 :(得分:2)

变量替换仅发生在双引号字符串中,而不是单引号字符串。改变它:

echo "<source src='$sourcefile' type='audio/mpeg'>";

答案 1 :(得分:1)

你可以试试这个:

echo "<source src='{$sourcefile}' type='audio/mpeg'>";

或者这个:

<source src="<?php echo $sourcefile; ?>" type="audio/mpeg">

记住(HTML&amp; PHP)不要在没有标签的情况下混合:)