2013-06-29 118 views
0

當我嘗試使用codeignitor上傳功能將docx文件上傳到服務器時出現'無效文件類型'錯誤,但它在本地服務器中正常工作,並且在pdf,doc和圖像文件。無法使用上傳庫將docx文件上傳到服務器

下面是我的文件上傳腳本。

我用ajaxuploader上傳文件

<script> 
    //.......................FILE UPLOAD ........................................... 
    $(function(){ 

     var btnUpload=$('#nefile'); 
     new AjaxUpload(btnUpload, { 
      action: '<?php echo site_url('userdashboard/saveabstractdocument'); ?>', 
      name: 'file', 

      onComplete: function(file, response){ 

       if(response) 
       { 

        if(response == 1){ 


         $('#abstractdoc').css('display','none'); 
         $('#abstractval').css('display','block'); 



        }else{ 


         //$('#metaimgval_error').html(""); 
         $("#val").val(response); 
         $('#abstractval').css('display','none'); 
        } 


       } else 
       { 

       } 
      } 
     }); 
    }); 
    //.......................FILE UPLOAD ENDS........................................... 

</script> 
下面

是我的控制器功能

function saveabstractdocument() { 
     $abstractfile = $_FILES["file"]["name"]; 
     $filenme = $_FILES["file"]["name"]; 

     $ext = explode(".", $filenme); 
     $cnt = count($ext) - 1; 
     $filenme = date("m") . date("d") . date("Y") . time() . "." . $ext[$cnt]; 
     $fil = date("m") . date("d") . date("Y") . time(); 
     $config['upload_path'] = './uploads/abstract/'; 
     $config['file_name'] = $fil; 
     $config['allowed_types'] ='pdf|doc|docx'; 
     $config['max_size'] = ''; 
     $this->load->library('upload', $config); 
     if (!$this->upload->do_upload("file")) { 
      $data["err"] = array('error' => $this->upload->display_errors()); 
      // print_r($this->upload->display_errors());exit; 
      echo 1; 
     } else { 
      $this->load->library('session'); 
      $datafile = array 
       (
       'fname' => $filenme 
      ); 
      $this->session->set_userdata($datafile); 

      echo $abstractfile; 
     } 
    } 

回答

0

爲什麼don'y你使用這樣考慮......

<input type="file" name="file"/> 

或在你的問題無效類型也許它不包括在你的mimes.php doc,pdf,docx 和你r $ config ['max_size'] ='';如果你不能提供任何價值,你可以刪除它。

也是在這裏我上傳文件的樣本

$config['upload_path'] = './files/contracts-csv/'; 
       $config['allowed_types'] = 'csv'; 
       $config['max_size']  = '4096';  
       $config['overwrite']  = TRUE; 

       $this->load->library('upload', $config); 
       $this->upload->display_errors('', ''); 

       if (!$this->upload->do_upload("csv_file")) { 
         echo $this->upload->display_errors(); die(); 
         $this->data['error'] = array('error' => $this->upload->display_errors()); 
       } else { 
        $upload_result = $this->upload->data(); 
        $pathfile = $upload_result['full_path']; 
       } 

...的希望我給你的想法

相關問題