2014-02-28 39 views
0

目前有這些代碼。圖片上傳數據爲空

$config['upload_path'] = './uploads/'; 
       $config['allowed_types'] = 'gif|jpg|png'; 
       $config['max_size'] = '1000'; 
       $config['max_width'] = '270'; 
       $config['max_height'] = '280'; 
$this->load->library('upload', $config); 

然後生病插入細節到數據庫中。

$this->Model->upload_image($this->upload->data(),$result_id); 

但是db行是空的,所以我檢查了自己。 I print_r($image_data)這是模型函數的第一個參數。仍然是空的,以確保即使mor。我輸入了。

print_r($this->upload->data()); 

不過,結果卻是空的。

陣列([文件名] => [FILE_TYPE] => [FILE_PATH] => ./uploads/ [full_path] => ./uploads/ [RAW_NAME] => [orig_name] => [CLIENT_NAME] => [file_ext] => [FILE_SIZE] => [is_image] => [IMAGE_WIDTH] => [IMAGE_HEIGHT] => [IMAGE_TYPE] => [image_size_str] =>)

編輯:

if (! $this->upload->do_upload()) 
      { 
      $error = array('error' => $this->upload->display_errors()); 
      $this->load->view('view', $error); 
      } 
      else 
      { 
      $image_data = array('upload_data' => $this->upload->data()); 
      print_r($this->upload->data()); 
} 
+1

你運行過'$ this-> upload-> do_upload()'嗎? – Samutz

+0

我添加了do_upload()代碼行,雖然它不會print_r .... 順便說一句,我是否需要命名函數do_upload呢? – user3205047

+0

你能否在你的問題中包含具有表單的視圖? – Samutz

回答

1

如果您有任何名稱到您的input file control比使用此do_upload函數時必須設置它。

例如,

$field_name = "some_field_name"; 
$this->upload->do_upload($field_name) 

默認情況下,上傳程序預計該文件來自於所謂的userfile的表單域,以及形式必須是「多類型

請參閱參考$this->upload->do_upload()

http://ellislab.com/codeigniter/user-guide/libraries/file_uploading.html

根據Function Reference在上面的鏈接

+0

我正在等待samutz發佈答案。我只是接受你的。謝謝回答! – user3205047