2013-04-02 36 views
4

我正在尝试上传视频。codeigniter视频上传

我的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,他们都无法上传。

+0

得到任何错误? –

+0

'$ this-> upload-> display_errors()'是否提供任何错误?你能输出'$ this-> upload-> data()'的数据吗? – Eldar

+0

是什么?我不明白你的意思 –

回答

0

请与上传路径并通过的,以这 - $名称> upload-> do_upload( 'userfile的'),并增加了MAX_SIZE(的upload_max_filesize = 10M)在php.ini

+0

我已经成功上传,在php.ini中更改upload_max_filesize和post_max_size,谢谢:) –

2

添加MIME类型的配置/mimes.php

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

并在根文件夹进行视频文件的足够.....

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"; 
+1

您最好为您的答案添加一些解释。 –