2016-02-26 88 views
1

我從笨想上傳文件。文件未給予任何錯誤,甚至沒有存儲上傳的文件夾whic是在根目錄或文件的CodeIgniter。誰能幫助?請注意,我已經給了755允許我上傳的文件夾。下面是我的代碼CodeIgniter的文件上傳不工作,不給錯誤

視圖文件

<html> 
<head> 
<title>Upload Form</title> 
</head> 
<body> 

<?php echo $error;?> 

<?php echo form_open_multipart('UploadController');?> 

<input type="file" name="userfile" size="20" /> 

<br /><br /> 

<input type="submit" value="upload" /> 

</form> 

</body> 
</html> 

下面是我的控制器

<?php 

class UploadController extends CI_Controller { 

    function __construct() 
    { 
     parent::__construct(); 
     $this->load->helper(array('form', 'url')); 
    } 

    function index() 
    { 
     $this->load->view('uploadview', array('error' => ' ')); 
    } 

    function do_upload() 
    { 
     $config['upload_path'] = './uploads/'; 
     $config['allowed_types'] = 'gif|jpg|png'; 
     $config['max_size'] = '100'; 
     $config['max_width'] = '1024'; 
     $config['max_height'] = '768'; 

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

     if (! $this->upload->do_upload("add_1")) 
     { 
      $error = array('error' => $this->upload->display_errors()); 

      $this->load->view('upload_form', $error); 
     } 
     else 
     { 
      $data = array('upload_data' => $this->upload->data()); 

      $this->load->view('uploadview', $data); 
     } 
    } 
} 
?> 

請幫助我在這個問題上。

回答

0

有一些錯誤在你的代碼: 上以下行請變化:

1.更改 form_open_multipart('UploadController') form_open_multipart('UploadController/do_upload')

2.change $this->upload->do_upload("add_1") $this->upload->do_upload("userfile")。 3.change $this->load->view('upload_form', $error);
$this->load->view('uploadview', $error);

0

變化

form_open_multipart('UploadController') 

form_open_multipart('UploadController/do_upload') 
0

改變你的表格操作路徑

form_open_multipart( 'UploadController/do_upload')

,或者你可以在一個方法使用這樣的:

function index() 
{ 
    $config['upload_path']  = 'upload_path'; 
    $config['allowed_types'] = 'gif|jpg|jpeg|png'; 
    $config['max_size']   = 5120; 
    $config['encrypt_name']  = true; 

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

    $this->form_validation->set_rules('image', 'lang:image', 'file_size_max[5M]|file_allowed_type[image]'); 

    if($this->form_validation->run() == FALSE) 
    { 
     $this->load->view('uploadview', array('error' => ' ')) 
    } 
    else 
    { 
     $user = array(); 

     $uploaded = $this->upload->do_upload('add_1'); 

    //delete the original file if another is uploaded 
    if($uploaded) 
    {   
     $data = array('upload_data' => $this->upload->data()); 

     $this->load->view('uploadview', $data); 
    } else { 
     $error = array('error' => $this->upload->display_errors()); 

     $this->load->view('upload_form', $error); 
    } 
    } 
} 

的d確保上傳路徑是正確的。