前几天介绍过CodeIgniter 框架input表单的重新填充,主要是针对text、radio、checkbox、select等input表单,那么对于文件上传表单file该如何处理呢?
自己的处理方式:
//设置文件上传属性$webroot = $_SERVER['DOCUMENT_ROOT'];$time = time();$year = date('Y', $time);$month = date('m', $time);$day = date('d', $time);$subpath = "/goods/coverimage/{$year}/{$month}/{$day}/";$path = $webroot . '/uploads' . $subpath;if(!file_exists($path)){ mkdir($path, 0777, true);}$config['upload_path'] = $path;$config['allowed_types'] = 'jpg|gif|png';$config['file_name'] = date('YmdHis', $time) . mt_rand(100, 999);$this->load->library('upload', $config);if($this->upload->do_upload('coverimage')){ $file = $this->upload->data(); $data['image0'] = $subpath . $file['orig_name']; if($this->goods_model->add_goods($data)) { $this->success(base_url() . 'admin.php?c=goods', '添加商品成功', 2); }}else //图片上传失败{ $msg = array(); $msg['file_error'] = strip_tags($this->upload->display_errors()); $this->view('goods/modify', $msg);}从上面的代码可以看到用到了图片上传的3个函数:
$this->upload->do_upload('coverimage')$this->upload->data()$this->upload->display_errors()通过判断图片是否上传成功,来控制获取图片信息或输出相应的错误信息。