我有一个人们可以上传视频的网站,如果用户上传视频,则会在其文件夹中创建一个名为videos
的新文件夹,例如user/Someone/videos/videoname
和videos
文件夹中有用户上传的所有视频。然后它将视频插入数据库。这很好,但是当我尝试在HTML video
标签中回显这些视频时,我遇到了问题。由于用户可以上传更多视频,因此我创建了一个名为array
的{{1}}。然后,我选择属于该用户的$url
(videos
)。然后我将每个视频项目推送到$sql = "SELECT * FROM videos WHERE user=?";
数组,然后使用$url
循环回显视频。这有些不对劲。有重复,所以一个视频会回复更多次,并且丢失了网址。
代码:
foreach
PS:也许$echo_videos = "";
$items = "";
$url = array();
$sql = "SELECT * FROM videos WHERE user=?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("s",$u);
$stmt->execute();
$result = $stmt->get_result();
while($row = $result->fetch_assoc()){
$name = $row["video_file"];
$items .= "user/$u/videos/$name";
array_push($url, $items);
foreach ($url as $key) {
$echo_videos .= '<video width="400" controls><source src="'.$key.'"></video>';
}
}
变量也应该是一个数组但是我无法将数组推送到另一个数组。
答案 0 :(得分:1)
为什么不简单地回显文件名
while($row = $result->fetch_assoc()){
echo '<video width="400" controls><source src="user/'.$u.'/videos/'. $row["video_file"].'">
</video>';
}