此代码可以上传视频文件,但只能上传到我的特定文件夹。如何将视频文件上传到我的数据库并检索它以供查看/流式传输。请问你能帮帮我吗?我读过一些关于不上传到数据库但是将其上传到服务器的内容?这意味着什么?
这是我的观点:
<body>
<div id="container">
<h1>Welcome</h1>
<div id="body">
<div id="div2">
<div id="upload">
<form class="cssform" name="property" id="property" method="POST" action="<?php echo base_url()?>main/add_video" enctype="multipart/form-data" >
<table>
<tr>
<td><input type="file" id="video" name="video" ></td>
</tr>
<tr>
<td> <input type="submit" id="button" name="submit" value="Submit" /></td>
</tr>
</table>
</form>
</div>
<a href='<?php echo base_url()."main/logout" ?>'>Logout</a>
</div>
<div id ="searchBox">
</div>
</div>
<p class="footer">Page rendered in <strong>{elapsed_time}</strong> seconds</p>
</div>
</body>
这是我的控制者:
public function add_video(){
if (isset($_FILES['video']['name']) && $_FILES['video']['name'] != '') {
unset($config);
$date = date("ymd");
$configVideo['upload_path'] = './videos';
$configVideo['max_size'] = '10240';
$configVideo['allowed_types'] = 'avi|flv|wmv|mp3';
$configVideo['overwrite'] = FALSE;
$configVideo['remove_spaces'] = TRUE;
$video_name = $date.$_FILES['video']['name'];
$configVideo['file_name'] = $video_name;
$this->load->library('upload', $configVideo);
$this->upload->initialize($configVideo);
if (!$this->upload->do_upload('video')) {
echo $this->upload->display_errors();
} else {
$videoDetails = $this->upload->data();
echo "Successfully Uploaded";
}
}
}
答案 0 :(得分:1)
您不希望上传到数据库......这将成为MySQL不必要地管理的大量数据,更不用说观看视频的巨大开发工作了。
您可以更改代码以确定应将其上传到哪个文件夹,并在上传到.videos\
完成后将其移到那里。也许通过用户名,日期或类似名称,并在数据库中有一个表,用于存储文件所在位置的文件夹名称以及其他视频相关信息。
此时,您可以使用MySQL查找文件以及您已存储的其他信息,并使用它来创建有效链接以查看视频,该视频位于移动到的文件夹中