【问题标题】:Upload/Display video on my web page using PHP:使用 PHP 在我的网页上上传/显示视频:
【发布时间】:2015-01-22 18:25:00
【问题描述】:

我正在尝试在我的页面上保存和显示视频。视频保存到我的目录和名称,url 保存在我的数据库中。 我将在 watch.php 页面上显示我的视频。但问题是视频没有播放。我做错了什么。帮帮我

**index.php:**
<?php

$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'password';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db("websites", $conn);

if(isset($_POST['submit']))
{
    $name=$_FILES['file']['name'];
    $temp=$_FILES['file']['tmp_name'];

    move_uploaded_file($temp,"uploaded/".$name);
    $url="http://127.0.0.1/PHP/video%20upload%20and%20playback/uploaded    /$name";
    mysql_query("insert into video value('$name','$url') ");
}

?>

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Video Upload and Playback</title>
<link rel="stylesheet" href="style.css"/>
</head>

<body>
<div id="box">
<form action="index.php" method="POST" enctype="multipart/form-data">
Select Video: <br/>
<input type="file" name="file" />
<input type="submit" name="submit" value="Upload" />      
</form>
<?php

if(isset($_POST['submit']))
{
echo "<br />".$name."has been uploaded";
}  

?>    
</div>
<div id="box">
<h3>List of videos</h3>
<?php

$query=mysql_query("select * from video");
while($row=mysql_fetch_assoc($query)){
$name=$row['name'];
$url=$row['url'];
echo "<a href='watch.php?name=$name'>$url</a> <br />";
}
?>
</div>
</body>
</html> 

这是我的视频展示页面 watch.php:

$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'password';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db("websites", $conn);
?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Watch videos</title>
</head>

<body>
<?php
if(isset($_GET['name']))
{
    $name=$_GET['name'];
    $query=mysql_query("select * from video where name='$name'");
    while($row=mysql_fetch_assoc($query))
    {
    $name=$row['name'];
    $url=$row['url'];
    }
    echo "You are watching ".$name."<br />";
    echo "<embed src='$url' width='560' height='315'></embed>";
}
else
{
    echo "Error !";
}
?>
</body>
</html>

这是我的 css 文件。 style.css: 身体 { 背景:#222; 颜色:#fff; 字体系列:Tahoma; 字体大小:12px; }

#box{
background: #333;
padding: 10px;
width: 50%;
margin: 50px auto;
}

input{
background: #444;
color: #fff;
border: 0px;
padding: 10px;
margin: 5px 0px;
}

a{
text-decoration: none;
color: #fff;
}

#url{
background: #444;
padding: 10px;
margin: 5px;
}

【问题讨论】:

  • 你也可以试试HTML5的&lt;video&gt;标签

标签: php html mysql


【解决方案1】:

删除文件夹名称“已上传”后的空格

move_uploaded_file($temp,"uploaded/".$name);
$url="http://127.0.0.1/PHP/video%20upload%20and%20playback/uploaded/$name";

【讨论】:

【解决方案2】:

在 watch.php 中,您的嵌入代码在循环之外:

while($row=mysql_fetch_assoc($query))
{
$name=$row['name'];
$url=$row['url'];
}
echo "You are watching ".$name."<br />";
echo "<embed src='$url' width='560' height='315'></embed>";

试着改成这个

while($row=mysql_fetch_assoc($query))
{
$name=$row['name'];
$url=$row['url'];   
echo "You are watching ".$name."<br />";
echo "<embed src='$url' width='560' height='315'></embed>";

}

PS.formatting 似乎不起作用,但你明白我的意思,只需将花括号移到这些“回声”下方。

所以现在嵌入代码在循环中,它会知道 $name 是什么。

如果这些都不起作用,请发布您遇到的错误或结果,我们会进一步修复它。顺便说一句。这段代码可以简单得多。

【讨论】:

  • 是的,我明白了,我改变了。我的页面上没有任何错误。视频仍然没有播放。
  • 你能把 var_dump($row);在那个while循环里面告诉我它输出了什么?
猜你喜欢
  • 1970-01-01
  • 2011-04-30
  • 2015-06-16
  • 2010-10-10
  • 2019-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多