从事一个涉及人们注册网站并上传视频的项目,问题是我已经创建了一个文件上传表单并且它运行良好,我前往数据库并检查用户表,我看到上传的视频,然后进入我的 PHP 代码并初始化变量:
$Getvid = " ";
然后我获取该行
while ($row = mysqli_fetch_array($user_query, MYSQLI_ASSOC)) { $vid = $row ["vid"]; }
之后我放置
$Getvid = '< source src="user/'.$u.'/'.$vid.'" >';
if($vid == NULL) {
$Getvid = '< source src="image/Movie on 2013-07-24 at 13.43.mov" type="video/mp4" >';
}
获取用户上传的视频文件并将其回显到他/她的页面上,如果 vid 行为 null,则脚本将显示我存储在数据库中的默认视频
之后,我在用户页面上回显出视频
< video width="320" height="240" controls>
< source src="< ?php echo $vid; ? > " >
</video>
但是由于某种原因,视频没有显示默认值也不起作用,除非我像这样专门获取它:
<video width="320" height="240" controls>
<source src="image/Movie on 2013-07-24 at 13.43.mov" type="video/mp4" >
</video>
如果你实际上在源代码中键入< ?php
,PHP不会被调用。它需要位于单个标记中,例如 <?php
.修复此问题后,将 PHP 代码的输出与您的工作示例进行比较,看看它有什么不同。如果您想要更准确的答案,请将生成的 HTML 与您期望的 HTML 一起添加到您的问题中。
您还在不同的路径中使用相同的变量;您在视频名称之前附加 image/的一个位置,而您的变量似乎不包含路径。
问题的两个潜在来源,您不应该在文件名中使用空格存储文件,并且您没有为视频指定类型。
SRC 应包含有效的 URL,因此 PHP 字符串中应使用 %20 或 + 代替空格。
注意:正如Fisk提到的,由于间距的原因,您的php标签是错误的。您可以通过替换来使用 PHP echo 简写形式
< ?php echo $vid; ? >
by
<?= $vid; ?>