【发布时间】:2018-02-18 21:07:32
【问题描述】:
我有一个网站,人们可以上传他们的视频,如果用户上传视频,它会在他们的文件夹中创建一个名为 videos 的新文件夹,例如user/Someone/videos/videoname 和 videos 文件夹中有用户上传的所有视频。然后它将视频插入数据库。这很好用,但是当我尝试在 HTML video 标记中回显这些视频时,我遇到了问题。由于用户可以上传更多视频,我创建了一个名为$url 的array。然后我选择那些属于该用户的videos ($sql = "SELECT * FROM videos WHERE user=?";)。然后我将每个视频项推送到 $url 数组,并使用 foreach 循环回显视频。这里出了点问题。存在重复,因此一个视频会被多次回显,并且缺少网址。
代码:
$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>';
}
}
PS:也许$items 变量也应该是一个数组,但我无法将一个数组推送到另一个数组。
【问题讨论】:
标签: php html arrays foreach echo