Codeigniter视频上传不起作用


Codeigniter video uploads not working

我正在使用以下代码进行视频上传。

<?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)"video/mp4"

消息。它不属于其他部分,视频也不会上传。有人能帮我做这个吗。注意:我已经在php.ini中设置了最大文件大小,注意我也尝试将mime类型设置为$this->_file_mime_type($_FILES[$field]); var_dump($this->file_type); die();

已编辑

我修改了上面的代码来上传图片,它给了我同样的结果。使用我的代码似乎无法上传任何内容。

我也遇到了同样的问题。但现在它对我来说很好。

实际上,您必须更改PHP ini文件中的两个参数

post_max_size = 100M
upload_max_filesize = 100M

但您可能还想更改apache滥用保护参数(100M)

LimitRequestBody 1073741824

另一方面,PHP也有每个脚本30秒的时间限制,所以你的脚本在运行30秒时就会失效。

你可能还想增加时间,以确保你的脚本不会在上传、复制等时死亡,

set_time_limit(600);  // 10 minutos execution

从这里找到这个答案

mp4格式添加到allowed_types,如:

$config['allowed_types'] = 'mov|mpeg|mp3|avi|mp4';

并在您的config/mimes.php中添加mp4的mime类型(如果不存在),如:

'mp4' => array('video/mp4', 'application/octet-stream')