我正在尝试使用以下代码在网页上显示所有视频,我已经能够遍历文件、打印文件名和嵌入视频。但是视频显示为灰色并且无法播放,我怀疑我在代码中使用 $filename 时做错了什么。
<?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>";
}
}
}
?>
它是这样显示的:
最佳答案
你好
你 echo $filename
就像一个字符串,而不是一个 PHP 变量。
记住,如果用单引号回显 '
,它会像字符串一样回显,用双引号回显 "
会回显 PHP 变量读取它们的值。关于字符串的信息PHP 是 nicley 解释的,例如 here。
您可以将回显 HTML 视频的代码更改为:
echo '<video width="400" controls="controls" preload="metadata"><source src="' . $filename . '" type="video/mp4"></video>';
请注意,HTML video
标签 src
属性也缺少双引号,我在上面的代码中添加了它们。
干杯
关于php - 使用 PHP 变量的 HTML 嵌入视频不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50307300/