到目前为止,我还没有找到任何解决办法,所以我真的需要问一下这个问题。
我正在建立一个视频托管网站,使用php和mysql,在那里上传视频教程(在我的网站中称为“答案”),以响应业余爱好制作活动中的帮助请求。
我需要我的网站提取元数据的新上传的文件在创建一个新的视频记录(要放在一个答案表在mysql)。
到目前为止,新文件的基本上传和存储工作正常,您可以在这里自己阅读代码:
function insert_answer($answer) {
global $db;
$errors = validate_answer($answer);
if(!empty($errors)) {
return $errors;
}
$fileowner = $_SESSION['user_id'];
$filename = $_FILES['videoUpload']['name'];
$filename = $fileowner.'-'.$filename;
$filetype = $_FILES['videoUpload']['type'];
$filesize = $_FILES['videoUpload']['size'];
$cname = str_replace(" ","_",$filename);
$tmp_name = $_FILES['videoUpload']['tmp_name'];
$target_path = "../private/media/";
$target_file = $target_path . basename($cname);
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
move_uploaded_file($_FILES['videoUpload']['tmp_name'], $target_file);
$author = $_SESSION['user_id'];
$mysqldate = date('H:i d/m/Y');
$sql = "INSERT INTO answers ";
$sql .= "(user_id, request_id, title, content, tags, date, video, length) ";
$sql .= "VALUES (";
$sql .= "'" . db_escape($db, $author) . "',";
$sql .= "'" . db_escape($db, $answer['request_id']) . "',";
$sql .= "'" . db_escape($db, $answer['title']) . "',";
$sql .= "'" . db_escape($db, $answer['content']) . "',";
$sql .= "'" . db_escape($db, $answer['tags']) . "',";
$sql .= "'" . db_escape($db, $mysqldate) . "',";
$sql .= "'" . db_escape($db, $target_file) . "',";
$sql .= "'" . db_escape($db, $answer['length']) . "' ";
$sql .= ")";
$result = mysqli_query($db, $sql);
// For INSERT statements, $result is true/false
if($result) {
return true;
} else {
// INSERT failed
echo mysqli_error($db);
db_disconnect($db);
exit;
}
}
现在,我缺少记录上传视频长度的解决方案,可能,我不知道的任何其他元数据都可能有用。我以前尝试过exif\u read\u data来提取元数据,直到我知道它只适用于图像文件。
非常清楚,在为answers表创建新记录时,我选择要上载的文件,并在单击submit之前填写表单。单击submit之后,站点应该提取元数据并将其记录到新条目中。
请不要说我在普莱斯克建立这个网站作为一个大学作业的一部分,所以我不确定服务器端工具是否可以工作,我仍然是相当新的网页设计。
任何帮助和建议都将不胜感激。
暂无答案!
目前还没有任何答案,快来回答吧!