我正在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 :(得分:1)
$this->upload->display_errors();
返回错误数组,包含错误代码和错误消息等.Json Encoding可能会在多维数组的情况下导致问题。你只能使用错误信息,我猜你编码结构。
正确的方法是:
$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));
}