使用CodeIgniter上传ajax文件时的错误处理

时间:2013-07-26 09:35:56

标签: php ajax codeigniter file-upload

使用CodeIgniter 2.1.4我正在尝试使用ajax和文件上传类上传文件。我在Controller中的构造如下:

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

我在Controller中的上传功能为:

public function upload_file()
{

    $config['upload_path'] = 'upload/';
    $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())
    {
        $error = array('error' => $this->upload->display_errors());
        $result['success'] = 1;
        $result['message'] = $error;
    }
    else
    {
        $result['success'] = 0;
        $result['message'] = "Successful Upload";
    }

    die(json_encode($result));

}

但错误的出现是:

Array

如何从阵列中获取错误消息?

2 个答案:

答案 0 :(得分:1)

更改此行并尝试:

$result['message'] = $error['error'];

答案 1 :(得分:0)

发生错误时,结果是一个数组。你在die函数中使用了json编码。

不要在die函数中编码。

echo json_encode($result);
die();