我创建了一个脚本,用于在CodeIgniter中播放webroot之外的视频(mp4)。我使用不同的控制器来获取请求并使用readfile响应视频文件。在客户端,我使用jquery,magnific popup和mediaelement.js来播放视频。
问题在于播放不同的视频,关闭弹出窗口实际上使CI脚本加载缓慢。我发布了我的控制器代码:
class Load extends CI_Controller {
public function index()
{
$url = base_url(uri_string());
$baseurl = base_url('load/index');
$path = str_replace($baseurl,'',$url);
$file_name = basename($path);
$file_path = str_replace($file_name,'',$path);
$file_name = urldecode($file_name);
$file_type = '';
$real_path = '';
$this->db->where('file_path', $file_path);
$this->db->where('file_name', $file_name);
$query = $this->db->get('media');
// if user exists
if($query->num_rows() == 1)
{
$result = $query->result();
$file_type = $result[0]->file_type;
}
$this->db->where('path', $file_path);
$query = $this->db->get('pathalias');
// if user exists
if($query->num_rows() == 1)
{
$result = $query->result();
$real_path = $result[0]->alias;
}
$path = $real_path.'/'.$file_name;
header('Content-Type: '.$file_type);
readfile($path);
}
}