0

我正在尝试在 codeigniter 中上传图像文件。为此,我写道:

$config['upload_path'] = '/uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '100';
$config['max_width']  = '1024';
$config['max_height']  = '768';

if($this->load->library('upload', $config)){
echo 'Loaded !';
}else{
echo 'Unable to load';
}

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

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

    echo 'Uploaded';
    //$this->load->view('upload_success', $data);
}

但我收到了类似的错误Unable to load Error。当我检查我的/application/libraries目录时,它是空的。我需要自己编写库upload还是缺少库?我正在使用CodeIgniter 2.1.4.

4

3 回答 3

0

不,您不需要创建库。你可以在System/libraries/目录中找到它。但是,这些是需要考虑的一些建议:

  1. 正如@saurabh2836 所说,确保 html 表单具有该enctype="multipart/form-data"属性。
  2. /uploads/应该是可写的,如 755 或 777 权限。

此外,更改echo 'Error';print_r($error)查看 Codeigniter 抛出的“真实”错误。

于 2013-09-15T17:32:03.643 回答
0

我想问你天气你有 enctype="multipart/form-data" 并把你所有的控制器和模型编码也放进去,这样我就可以弄清楚输入文件名应该是 userfile

于 2013-09-14T07:38:55.220 回答
0

您不需要创建库。但是,从您的代码中,我相信您需要指定用于存储文件的正确路径。你写的是 '/uploads/' 而不是 './uploads/'。确保您也在视图中使用多部分表单。这是我能看到的最明显的问题。尝试切换目录并添加不同的路径来测试您的代码,并确保您对文件夹具有读/写访问权限。祝你好运。

于 2016-10-11T10:50:28.997 回答