使用PHP在我的网页上上传/显示视频:

时间:2015-01-22 10:03:13

标签: php html mysql

我试图在我的页面上保存和显示视频。视频保存到我的目录和名称,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') ");
}

&GT;

<!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;     font-family:Tahoma;     font-size: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;
}

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

在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似乎不起作用,但你明白我的观点,只需将花括号移到这些&#34; echos&#34;下面。

所以现在embed代码在循环中,它将知道$ name是什么。

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