我知道网上有很多教程,但我无法让它们发挥作用:(或许我的系统特别错误:/
我的Controller localpath是: /本地主机/ RL /应用/后端/控制器/
控制器:
function do_upload()
{
$config['upload_path'] = './uploads/';
$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());
$this->load->view('add_image', $error);
}
else
{
$data = array('upload_data' => $this->upload->data());
$data['id'] = $this->input->post['id_work'];
$this->load->view('add_image', $data);
}
}
My View localpath是: /本地主机/ RL /应用/后端/视图/
查看:
echo form_open_multipart('do_upload');
<ul class="frm">
<li><label>File: *</label><input type="file" name="userfile" class="frmlmnt" size="50" /></li>
<li><label></label><input type="submit" class="btn" value="Upload" /></li>
</ul>
</form>
也许我对路径
做错了答案 0 :(得分:1)
更改您的观点
echo form_open_multipart('backend/controllername/do_upload');
并在controllers文件夹中创建后端文件夹。
答案 1 :(得分:0)
我不知道codeigniter是什么,但我看到了三件事:
您的功能没有传递给它。我不确定“this”变量是否可以处理,但也许您应该将上传URL传递给它?
您将config ['size']设置为'100'。我只能猜测该大小是指文件大小,但这个扩展名是否默认使用KB或MB?
你有这个:
$this->load->library('upload', $config);
这一点:
$data = array('upload_data' => $this->upload->data());
$data['id'] = $this->input->post['id_work'];
$this->load->view('add_image', $data);
哪部分实际上在上传?如果是第一个,它如何知道上传什么?我没有在任何配置数组中看到,并想象“上传”不是文件的地址......
如果是第二部分,则将其设置为
$this->load->view('add_image', $data);
但你为什么要查看呢?你不上传吗?我假设视图是上传它的内容,但是你在上一部分中使用了相同的方法来处理错误。
答案 2 :(得分:0)
后来我发现了一个很棒的教程,它正是我需要的东西:)现在一切都很好。谢谢你的帮助;)
tut链接帮助了我: http://net.tutsplus.com/videos/screencasts/easy-development-with-codeigniter/#comment-83378