2017-04-13 69 views
1

我正在CodeIgniter中進行圖片上傳。在這方面,我正在使用以下代碼。CodeIgniter中的圖片上傳問題

$config['upload_path'] = './files/'; 
$config['allowed_types'] = 'gif|jpg|png|doc|txt'; 

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

if (!$this->upload->do_upload('userfile')) 
{ 
     $error = $this->upload->display_errors(); 
     echo json_encode(array('success'=>false,'message'=>$error)); //this line is not working. 
} 
else 
{ 
     echo json_encode(array('success'=>true,'message'=>lang('items_successful_updating').' '. $item_data['name'],'item_id'=>$item_id)); 
} 

如果我使用下面的代碼,那麼它工作。

echo json_encode(array('success'=>false,'message'=>'abcdef')); 

爲什麼會這樣呢?

+0

什麼是 「不工作」 是什麼意思? – DFriend

+0

試試這個: echo json_encode(array('success'=> false,'message'=> $ error ['error'])); –

回答

1

$this->upload->display_errors();返回帶有錯誤代碼和錯誤消息等的錯誤數組。Json編碼在多維數組的情況下可能會導致問題。你只能使用錯誤信息,我從你的編碼結構中猜測出來。

正確的方法是:

$config['upload_path'] = './files/'; 
$config['allowed_types'] = 'gif|jpg|png|doc|txt'; 

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

if (!$this->upload->do_upload('userfile')) 
{ 
     $error = $this->upload->display_errors(); 
     echo json_encode(array('success'=>false,'message'=>$error['error'])); //this line is not working. 
} 
else 
{ 
     echo json_encode(array('success'=>true,'message'=>lang('items_successful_updating').' '. $item_data['name'],'item_id'=>$item_id)); 
} 
+0

謝謝@Bikram Pahi。在使用您的代碼後,我收到錯誤'<'。這是什麼意思 ? –

+0

<用於(<),請檢查您的IDE,如果有任何錯別字錯誤或離開php標籤等,您將收到。 –