Php 在Codeigniter中上载.mov视频文件
我想上传扩展名为.mov的视频文件,其他视频文件,如mp4,flv正在工作,但当我想上传.mov时,它不工作 这是我的密码:Php 在Codeigniter中上载.mov视频文件,php,codeigniter,codeigniter-3,Php,Codeigniter,Codeigniter 3,我想上传扩展名为.mov的视频文件,其他视频文件,如mp4,flv正在工作,但当我想上传.mov时,它不工作 这是我的密码: public function add_video(){ if (isset($_FILES['video']['name']) && $_FILES['video']['name'] != '') { unset($config); $date = date("ymd"); $configVideo
public function add_video(){
if (isset($_FILES['video']['name']) && $_FILES['video']['name'] != '') {
unset($config);
$date = date("ymd");
$configVideo['upload_path'] = './video';
$configVideo['max_size'] = '9000000000';
$configVideo['allowed_types'] = 'mov|avi|flv|wmv|mp3|mp4';
$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();
$data['video_name']= $configVideo['file_name'];
$data['video_detail'] = $videoDetails;
$this->load->view('/upload_video/show', $data);
}
}else{
echo "Please select a file";
}
}
上传.mov视频后收到的错误消息如下
不允许您尝试上载的文件类型。
是的,使用允许的*登录类型修复问题,但这将允许用户上载所有扩展文件
注意:我正在使用Codeigniter 3.0.4Codeigniter检查文件内容,以确保它实际上是预期的MIME类型 首先,使用以下代码验证是否为您的文件检测到正确的MIME:
// should be "video/quicktime"
$mime = finfo_file(finfo_open(FILEINFO_MIME_TYPE), $filepath);
我假设您至少使用了PHP5.3。由于您可以上载其他文件类型,我假设上述代码可以正常工作而不会产生错误,否则您必须修复MIME检测,例如Apache magic文件
因此,通常.mov的唯一MIME是video/quicktime,但如果您有其他内容,例如video/hdmov,您可以将其添加到application/config/mimes.php:
如果您得到的结果为空,您的文件未被识别或以某种方式损坏,请尝试使用其他.mov文件,以查看它们是否工作
有关CodeIgniter如何尝试检测文件MIME的详细信息,请参阅。CodeIgniter检查文件内容,以确保它实际上是预期的MIME类型 首先,使用以下代码验证是否为您的文件检测到正确的MIME:
// should be "video/quicktime"
$mime = finfo_file(finfo_open(FILEINFO_MIME_TYPE), $filepath);
我假设您至少使用了PHP5.3。由于您可以上载其他文件类型,我假设上述代码可以正常工作而不会产生错误,否则您必须修复MIME检测,例如Apache magic文件
因此,通常.mov的唯一MIME是video/quicktime,但如果您有其他内容,例如video/hdmov,您可以将其添加到application/config/mimes.php:
如果您得到的结果为空,您的文件未被识别或以某种方式损坏,请尝试使用其他.mov文件,以查看它们是否工作
有关CodeIgniter如何检测文件MIME的详细信息,请参阅。使用application/config/mimes.php中的配置将文件扩展名从允许的类型解析为实际的MIME类型
我认为可能的是,您的.mov文件的MIME类型与video/quicktime不同。您可以在此处检查默认配置
您需要做的是检查文件的确切MIME类型,并将其添加到mimes.php中
你可以使用
然后只需在application/config/mimes.php中更改以下行
通过添加一个或多个不同的MIME类型。我通过添加视频/x-quicktime解决了同样的问题
'mov' => array('video/quicktime', 'video/x-quicktime'),
此源后面可能的MIME类型有:video/quicktime、video/x-quicktime、image/mov、audio/aiff、audio/x-midi、audio/x-wav、video/avi使用application/config/mimes.php中的配置将文件扩展名从允许的类型解析为实际的MIME类型
我认为可能的是,您的.mov文件的MIME类型与video/quicktime不同。您可以在此处检查默认配置
您需要做的是检查文件的确切MIME类型,并将其添加到mimes.php中
你可以使用
然后只需在application/config/mimes.php中更改以下行
通过添加一个或多个不同的MIME类型。我通过添加视频/x-quicktime解决了同样的问题
'mov' => array('video/quicktime', 'video/x-quicktime'),
此源后面可能的MIME类型有:视频/quicktime、视频/x-quicktime、图像/mov、音频/aiff、音频/x-midi、音频/x-wav、视频/avi检查文件权限并授予777权限检查文件权限并授予777权限
'mov' => array('video/quicktime', 'video/x-quicktime'),