使用MySql和php获取视频
我在一个网站上工作,该网站会接收用户上传的视频,并将使用MySql和php获取视频,php,html,mysql,video,upload,Php,Html,Mysql,Video,Upload,我在一个网站上工作,该网站会接收用户上传的视频,并将名称,大小,类型,路径,以及tmp_名称放入MySQL数据库。下面是upload.php文件 <?php $is_form_submitted = (isset($_POST['submit']))?true:false; if($is_form_submitted) { //defines variables $name=$_FILES['file']['name'];
名称
,大小
,类型
,路径
,以及tmp_名称
放入MySQL数据库。下面是upload.php
文件
<?php
$is_form_submitted = (isset($_POST['submit']))?true:false;
if($is_form_submitted)
{
//defines variables
$name=$_FILES['file']['name'];
$type=$_FILES['file']['type'];
$size=$_FILES['file']['size'];
$tmp_name=$_FILES['file']['tmp_name'];
$target_path="videos/";
$allowedTypes = array("video/wmv","video/avi",
"video/mpeg","video/mpg","video/mp4");
$is_valid_type = (in_array($_FILES['file']['type'], $allowedTypes))?true:false;
if ( $is_valid_type&& ($_FILES["file"]["size"] < 20000000000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
mysql_query("INSERT INTO vids(name, type, size, tmp_name, target_path)
VALUES('$name', '$type', '$size', '$tmp_name', '$target_path')");
if (file_exists("images/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"videos/" . $_FILES["file"]["name"]);
echo "Stored in: " . "videos/" . $_FILES["file"]["name"];
}
}
}
else
{
echo "Invalid file";
}
}
?>
我存储视频的地方是一个名为videos的目录我找到了它,以防有人想引用它
<?php
//Connects to database
$host="################"; // Host name
$username="##########"; // Mysql username
$password="###########"; // Mysql password
$db_name="#######"; // Database name
$tbl_name="####"; // Table name
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
//Tells variable video where to get the name from
$vid_url = "videos/";
$result = mysql_query("SELECT * FROM vids ORDER BY RAND() LIMIT 1");
$row = mysql_fetch_assoc($result);
$video = $vid_url.$row["name"];
<?
嘿,你的mysql查询是jibberish。。。您应该有类似于“SELECT*FROMvids
WHERE{some column}
={some value}”的内容。。。至于选择一个随机视频,我建议使用一个增量列作为vid_id,然后选择一个随机vid_id为什么要存储临时名称?临时文件退出时将被PHP删除,无论您是否将其存储在其他位置。我将其存储为引用,@brendanmorrison,我如何知道某个列和某个值是什么?您可以使用{some_column}和{some_value}与任何列相对应,例如,如果您上传了一个名为my_test的视频,则查询可能如下所示:“从vids
中选择*,其中名称
=my_test
”,或者如果您只想查找任何视频,则可以执行“从vids
中选择*,按
DESC LIMIT 1排序”这将返回表中按大小排列的最大视频,正如我还提到的,向表中添加一个自动递增的列(称为vid_id)可能是一个好主意,因此每个视频都有一个特定的id,以帮助轻松地选择它们或将其保留为每个用户的参考,但这只是一个主意。我有一个自动递增的id列,我正在尝试要实现这一点,需要获取一个随机id(可以抓取一个随机视频),然后在播放器中显示它
<?php
//Connects to database
$host="################"; // Host name
$username="##########"; // Mysql username
$password="###########"; // Mysql password
$db_name="#######"; // Database name
$tbl_name="####"; // Table name
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
//Tells variable video where to get the name from
$vid_url = "videos/";
$result = mysql_query("SELECT * FROM vids ORDER BY RAND() LIMIT 1");
$row = mysql_fetch_assoc($result);
$video = $vid_url.$row["name"];
<?