首页 文章

Codeigniter视频上传无效

提问于
浏览
4

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

<?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”

信息 . 它不属于其他部分,视频不会上传 . 有人可以帮我做这个 . note: I have set the max file sizes in php.ini and note I have tried setting mime type as $this->_file_mime_type($_FILES[$field]); var_dump($this->file_type); die(); as well

Edited

我改变了上面的代码来上传图片,它给了我相同的结果 . 看起来使用我的代码无法上传任何内容 .

2 回答

  • 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找到此答案

  • 0

    mp4 格式添加到 allowed_types ,如下:

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

    如果不存在,则在 config/mimes.php 中为mp4添加mime类型,如下所示:

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

相关问题