使用CodeIgniter的类库做图片上传

 更新时间:2014年06月12日 15:20:34   转载 投稿:shichen2014  
CodeIgniter的文件上传类允许文件被上传。您可以设置指定上传某类型的文件及指定大小的文件。这篇文章主要介绍了使用CodeIgniter的类库做图片上传,需要的朋友可以参考下

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

上传文件普遍的过程:

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

下面是表单:

复制代码 代码如下:
<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>

然后是下面是上传类:

复制代码 代码如下:
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():这是一个辅助函数,它返回你上传文件的所有相关信息的数组。

相关文章

  • PHP实现中国公民身份证号码有效性验证示例代码

    PHP实现中国公民身份证号码有效性验证示例代码

    这篇文章主要介绍了PHP实现中国公民身份证号码有效性验证示例代码,可以判断身份证号码的正确性,非常具有实用价值
    2017-05-05
  • PHP的mysqli_ssl_set()函数讲解

    PHP的mysqli_ssl_set()函数讲解

    今天小编就为大家分享一篇关于PHP的mysqli_ssl_set()函数讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • 微信跳一跳php代码实现

    微信跳一跳php代码实现

    这篇文章主要为大家详细介绍了微信跳一跳辅助php代码实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • Yii+upload实现AJAX上传图片的方法

    Yii+upload实现AJAX上传图片的方法

    这篇文章主要介绍了Yii+upload实现AJAX上传图片的方法,实例分析了Yii结合upload插件实现ajax上传的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • Thinkphp模板标签if和eq的区别和比较实例分析

    Thinkphp模板标签if和eq的区别和比较实例分析

    这篇文章主要介绍了Thinkphp模板标签if和eq的区别和比较,实例分析了Thinkphp模板标签if和eq用于变量比较的区别,需要的朋友可以参考下
    2015-07-07
  • 详解PHP数据压缩、加解密(pack, unpack)

    详解PHP数据压缩、加解密(pack, unpack)

    网络通信、文件存储中经常需要交换数据,为了减少网络通信流量、文件存储大小以及加密通信规则,本文介绍了PHP数据压缩、加解密,有兴趣的可以了解一下。
    2016-12-12
  • PHP基础学习之流程控制的实现分析

    PHP基础学习之流程控制的实现分析

    本篇文章介绍了,PHP基础学习之流程控制的实现分析。需要的朋友参考下
    2013-04-04
  • YII2框架中actions的作用与使用方法示例

    YII2框架中actions的作用与使用方法示例

    这篇文章主要介绍了YII2框架中actions的作用与使用方法,结合实例形式分析了YII2中actions功能、原理、使用方法及操作注意事项,需要的朋友可以参考下
    2020-03-03
  • Laravel 5.5 的自定义验证对象/类示例代码详解

    Laravel 5.5 的自定义验证对象/类示例代码详解

    Laravel 5.5 将提供一个全新的自定义验证规则的对象,以作为原来的 Validator::extend 方法的替代。接下来通过示例代码给大家介绍laravel 自定义验证对象和类,需要的朋友参考下吧
    2017-08-08
  • Yii中CGridView禁止列排序的设置方法

    Yii中CGridView禁止列排序的设置方法

    这篇文章主要介绍了Yii中CGridView禁止列排序的设置方法,讲述了CGridView的功能及通过数组项sortable设置实现禁止排列功能的方法,需要的朋友可以参考下
    2016-07-07

最新评论