HTML使用PHP变量嵌入视频不';行不通
我试图用下面的代码在一个网页上显示所有的视频,我已经能够迭代文件,打印文件名并嵌入视频。但是视频变灰了,无法正常工作,我怀疑我在代码中使用$filename时出错了HTML使用PHP变量嵌入视频不';行不通,php,html,css,web,gallery,Php,Html,Css,Web,Gallery,我试图用下面的代码在一个网页上显示所有的视频,我已经能够迭代文件,打印文件名并嵌入视频。但是视频变灰了,无法正常工作,我怀疑我在代码中使用$filename时出错了 <?php $dir = new DirectoryIterator(dirname(__FILE__)); foreach ($dir as $filename) { if (!$filename->isDot()) { if ($filename != "index.php" and $fi
<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $filename) {
if (!$filename->isDot()) {
if ($filename != "index.php" and $filename != "error_log") {
echo $filename, "<br>";
echo '<video width="400" controls="controls" preload="metadata">
<source src=$filename type="video/mp4"></video>';
echo "<br><br>";
}
}
}
?>
这就是它的表现:
改变
<source src=$filename type="video/mp4"></video>';
”;
到
”;
更改
<source src=$filename type="video/mp4"></video>';
”;
到
”;
Hi
您像字符串一样使用echo$filename
,而不是PHP变量
记住,如果echo使用单引号”
的话,它里面的所有内容都会像字符串一样进行echo,而echo使用双引号“
的话,它会回显读取其值的PHP变量。关于PHP中字符串的信息,nicley解释过,例如
您可以将HTML视频的代码更改为:
echo '<video width="400" controls="controls" preload="metadata"><source src="' . $filename . '" type="video/mp4"></video>';
echo';
请注意,HTMLvideo
tagsrc
属性也缺少双引号,我在上面的代码中添加了它们
切什
您像字符串一样使用echo$filename
,而不是PHP变量
记住,如果echo使用单引号”
的话,它里面的所有内容都将像字符串一样进行echo,而echo使用双引号“
的话,它将回显读取其值的PHP变量。关于PHP中字符串的信息由nicley解释,例如
您可以将HTML视频的代码更改为:
echo '<video width="400" controls="controls" preload="metadata"><source src="' . $filename . '" type="video/mp4"></video>';
echo';
请注意,HTMLvideo
tagsrc
属性也缺少双引号,我在上面的代码中添加了它们
Cheers您的php变量位于内部,并且(来自文档)变量和特殊字符的转义序列在出现在单引号字符串中时不会展开 作为替代方法,您可以将字符串保留在单引号之间,并使用单引号返回格式化字符串,例如使用
%s
指定参数应作为字符串类型处理
echo sprintf('<video width="400" controls="controls" preload="metadata">
<source src="%s" type="video/mp4"></video>',
$filename);
echo sprintf('
',
$filename);
php变量位于内部,并且(从文档中)变量和特殊字符的转义序列在单引号字符串中出现时不会展开
作为替代方法,您可以将字符串保留在单引号之间,并使用单引号返回格式化字符串,例如使用%s
指定参数应作为字符串类型处理
echo sprintf('<video width="400" controls="controls" preload="metadata">
<source src="%s" type="video/mp4"></video>',
$filename);
echo sprintf('
',
$filename);
src=$filename
应该是”$文件名代码>?改用双引号:echo”“
src=$filename
应该是”$文件名代码>?改用双引号:echo”“代码>