4

我正在尝试上传视频。

我的 mime 配置:

'wmv' => array('video/wmv', 'video/x-ms-wmv', 'flv-application/octet-stream', 'application/octet-stream'),
'flv' => array('video/x-flv', 'flv-application/octet-stream', 'application/octet-stream'),
'mp4' => 'video/mp4',
'3gp' => 'video/3gpp'

我的观点:

 <div id="upload">
        <?php
        echo form_open_multipart('audio');
        echo form_upload('userfile');
        echo form_submit('upload','Upload');
        echo form_close();
        ?>
</div>

我的控制器:

 function index() {
    $this->load->model('Audio_model');
    if ($this->input->post('upload')) {
        $this->Audio_model->do_upload();
    }
    $this->load->view('v_audio');
}  

我的模型:

 function do_upload() {
    $config = array(
        'allowed_types' =>  'mp4|3gp|flv|mp3',
        'max_size'=>'100000',
        'upload_path' => $this->gallery_path
    );
    $this->load->library('upload', $config);
    if ($this->upload->do_upload()) {
        echo "Upload success!";
    } else {
        echo "Upload failed!";
    }
}  

我可以成功上传 mp3,但不能上传 mp4、3gp 或 flv,它们都无法上传。

4

3 回答 3

2

在 config/mimes.php 中添加 mime 类型

'flv'    => array('video/x-flv', 'flv-application/octet-stream', 'application/octet-stream'),
'mp4' => 'video/mp4',
'3gp' => 'video/3gpp'  

并在根文件夹中制作 Video 文件夹就足够了.....

于 2014-09-13T13:02:59.267 回答
0

检查上传路径并将名称传递给 $this->upload->do_upload('userfile') 并在 php.ini 中增加 max_size(upload_max_filesize = 10M)

于 2013-04-05T12:30:40.107 回答
0
$allowedExts = array("jpg", "jpeg", "gif", "png", "mp3", "mp4", "wma");
        $extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);

        if ((($_FILES["file"]["type"] == "video/mp4")
            || ($_FILES["file"]["type"] == "audio/mp3")
            || ($_FILES["file"]["type"] == "audio/wma")
            || ($_FILES["file"]["type"] == "image/pjpeg")
            || ($_FILES["file"]["type"] == "image/gif")
            || ($_FILES["file"]["type"] == "image/jpeg"))

                && ($_FILES["file"]["size"] < 20000)
                && in_array($extension, $allowedExts))

            {
                    if ($_FILES["file"]["error"] > 0)
                            {
                                  echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
                            }
                    else
                            {
                                  echo "Upload: " . $_FILES["file"]["name"] . "<br />";
                                  echo "Type: " . $_FILES["file"]["type"] . "<br />";
                                  echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
                                  echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
                                  if (file_exists("upload/" . $_FILES["file"]["name"]))
                                        {
                                                echo $_FILES["file"]["name"] . " already exists. ";
                                        }
                                  else
                                        {
                                                move_uploaded_file($_FILES["file"]["tmp_name"],
                                                "video/" . $_FILES["file"]["name"]);
                                                echo "Stored in: " . "video/" . $_FILES["file"]["name"];
                                        }
                            }
            }
        else
            {
                    echo "Invalid file";
于 2016-08-04T11:15:40.150 回答