在我的网站上,用户可以上传视频。 我将这些视频存储在一个文件夹中,并将它们存储在mysql数据库中。
我想从文件夹中检索该视频并在页面上显示。 该文件夹还包含图像。 我也在展示这些图像。 图像正在显示。视频只播放音频,而不播放视频。而且,我的数据库中只有两个视频和一个图像。然后还显示3个视频文件和3个图像,其中两个图像以交替文本显示。
以下是我在PHP中尝试的代码:
if ($db_found)
{
$query ="SELECT * FROM `files`";
$result = mysql_query($query,$db_handle);
echo "<div class='product'>";
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$src=$row['File'];
echo "<img src='$src' height='200' width='200' alt='Image not Found'/>";
echo "<video width='200' height='200' autoplay controls>
<source src='$src' type='video/mp4'>
</video>";
}
echo "</div>";
}
答案 0 :(得分:0)
您需要使用以下内容检查哪些是视频,哪些是图像?
$src=$row['File'];
if (preg_match("/\.jpg$/i",$src)){
echo "<img src='$src' height='200' width='200' alt='Image not Found'/>";
}else{
echo "<video width='200' height='200' autoplay controls> <source src='$src' type='video/mp4'> </video>";
}
修改强>
哦,请停止使用已弃用的mysql functions
选择更现代的连接数据库
的方法答案 1 :(得分:0)
你真的应该添加(至少)某种方式来分离你的视频和图像。例如,files
表格中的第二列,告诉您相关文件是视频还是图片。
然后你可以简单地做这样的事情:
SELECT * FROM `files` WHERE `filetype` == 1
其中1 =图像,2 =视频等
然后您可以根据需要简单地处理该数组:
<?php
foreach($images as $image) { ?>
<img src='<?= $image["src" ?>' alt=''>
<?php } ?>
和
<?php
foreach($videos as $video) { ?>
<video id="video" preload="auto" autoplay="autoplay">
<source src="<?= $video["src"] ?>.mp4">
</video>
<?php } ?>
注意:只有视频播放音频的事实与您的代码无关。