CodeIgniter类库实现图片上传的例子

发布时间:2019-10-11编辑:脚本学堂
本文介绍了CodeIgniter类库做图片上传的实例代码,CodeIgniter的文件上传类允许文件被上传,可以设置指定上传某类型的文件及指定大小的文,需要的朋友参考下。

以下介绍使用CodeIgniter类库实现图片上传的实例。

CodeIgniter的文件上传类允许文件被上传。
可以设置指定上传某类型的文件及指定大小的文件。

上传文件普遍的过程:
一个上传文件用的表单,允许用户选择一个文件并上传它。
当这个表单被提交,该文件被上传到指定的目录。
同时,该文件将被验证是否符合您设定的要求。
一旦文件上传成功,还要返回一个上传成功的确认窗口。

1,文件上传表单:
 

复制代码 代码示例:
<form method="post" action="<?=base_url()?>admin/img_upload/" enctype="multipart/form-data" />
 <div style="margin:0 0 0.5em 0em;">
  <input type="file" name="userfile" size="20" class="button" />
  <input type="submit" value=" 上传 " class="button" />
 </div>
</form>

2,文件上传类:
 

复制代码 代码示例:

public function img_upload()
{
 $this->load->helper('url');

 $config['upload_path'] = './images/'.date('Ym', time()).'/';
 $config['allowed_types'] = 'gif|jpg|png';
 $config['file_name'] = date('Y_m_d', time()).'_'.sprintf('%02d', rand(0,99));
 $config['max_size'] = '500';
 $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());
   }
 else
   {
     $data = array('upload_data' => $this->upload->data());
   }
}

需要用到的函数:
$this->upload->do_upload():根据偏好配置参数执行操作。注意:默认情况下上传的文件来自于提交表单里名为userfile的文件域,并且该表单必须是 "multipart"类型。
$this->upload->display_errors():如果do_upload()返回失败,显示错误信息。此函数不会自动输出,而是返回数据,所以你可以按你的要求安排。
$this->upload->data():辅助函数,它返回上传文件的所有相关信息的数组。