图片上传库codeigniter丢失

时间:2013-09-13 07:46:03

标签: codeigniter-2 helper image-uploading

我正在尝试在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

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

  1. 正如@ saurabh2836所说,请确保html表单具有enctype="multipart/form-data"属性。
  2. /uploads/应该是可写的,为755或777权限。
  3. 另外,将echo 'Error';更改为print_r($error),以便了解Codeigniter引发的“真实”错误。

答案 2 :(得分:0)

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