我正在使用以下代码进行视频上传。
<?php
class upload_videos extends Admin_Controller {
function __construct() {
parent::__construct();
$this->load->helper('form');
}
function index () {
$this->load->view('admin/upload_form', array('error'=> ''));
}
function do_upload() {
$config['upload_path'] = './uploads';
$config['allowed_types'] = 'mov|mpeg|mp3|avi';
$config['max_size']= '';
$config['overwrite'] = FALSE;
$config['remove_spaces'] = TRUE;
$config['encrypt_name'] = TRUE;
$this->load->library('upload', $config);
if(!$this->upload->do_upload()) {
$error = array('error'=>$this->upload->display_errors() . ' hi');
$this->load->view('admin/upload_form', $error);
} else {
echo 'asasas';
$data = array('upload_data'=>$this->upload->data());
$this->load->view('admin/upload_success', $data);
}
}
}
我的问题是当我尝试上传显示我的mp4视频时
string(9)&#34; video / mp4&#34;
消息。它不属于其他部分,视频不会上传。有人可以帮我做这个。
注意:我已在php.ini中设置了最大文件大小,请注意我已尝试将mime类型设置为$this->_file_mime_type($_FILES[$field]); var_dump($this->file_type); die();
被修改
我更改了上面的代码来上传图片,它给了我相同的结果。看起来使用我的代码无法上传任何内容。
答案 0 :(得分:1)
我也遇到了同样的问题。但现在它对我来说很好。
有效地,您必须在PHP ini文件中更改两个参数
post_max_size = 100M
upload_max_filesize = 100M
但您可能还想更改apache滥用保护参数(100M)
LimitRequestBody 1073741824
另一方面,PHP每个脚本的时间限制也是30秒,所以你的脚本会在30秒的运行时死掉。
您可能还希望增加时间,以确保您的脚本不会因为上传,复制等而死亡,
set_time_limit(600); // 10 minutos execution
从Here
找到了这个答案答案 1 :(得分:0)
将mp4
格式添加到allowed_types
,如下:
$config['allowed_types'] = 'mov|mpeg|mp3|avi|mp4';
并在config/mimes.php
中为mp4添加mime类型(如果不存在),如下所示:
'mp4' => array('video/mp4', 'application/octet-stream')