我正在尝试在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
。
答案 0 :(得分:0)
我想问你天气你有enctype =“multipart / form-data”并把你所有的控制器和模型编码也放在一边这样我就可以搞清楚了,输入文件名应该是userfile
答案 1 :(得分:0)
不,您不需要创建库。您可以在System/libraries/
目录中找到它。但是,这些是考虑的建议:
enctype="multipart/form-data"
属性。/uploads/
应该是可写的,为755或777权限。另外,将echo 'Error';
更改为print_r($error)
,以便了解Codeigniter引发的“真实”错误。
答案 2 :(得分:0)
您无需创建库。但是,从您的代码中,我认为您需要指定用于存储文件的正确路径。你写了'/ uploads /'而不是'./uploads/'。确保您在视图中使用多部分表单。这是我能看到的最引人注目的问题。尝试切换目录并添加不同的路径来测试代码,并确保您对文件夹具有读/写访问权限。祝你好运。