php基于CodeIgniter实现图片上传、剪切功能


Posted in PHP onMay 14, 2016

本文实例为大家分享了codeigniter 图片上传、剪切,控制器类,供大家参考,具体内容如下

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Index extends MY_Controller {
 function __construct(){
    parent::__construct();
    $this->load->helper(array('form', 'url'));
  }

  /**
   * 首页
   */
  public function index() {
    $this->load->view('upload_form', array('error' => ' ' ));
  }
  
  
 public function do_upload()
  {
    $config['upload_path']   = './data/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('userfile'))
    {
      $error = array('error' => $this->upload->display_errors());

      $this->load->view('upload_form', $error);
    }
    else
    {
      $data = array('upload_data' => $this->upload->data());
      
      $this->load->library('image_lib');      
   list($width, $height) = getimagesize($data['upload_data']['full_path']);
   $config['image_library'] = 'gd2';
   $config['source_image'] = $data['upload_data']['full_path'];
   $config['maintain_ratio'] = TRUE;
   if($width >= $height)
   {
     $config['master_dim'] = 'height';
   }else{
     $config['master_dim'] = 'width';
   }
   $config['width'] = 180;
   $config['height'] = 180;
   $this->image_lib->initialize($config);
   $this->image_lib->resize();
 
   $config['maintain_ratio'] = FALSE;
   if($width >= $height)
   {
     $config['x_axis'] = floor(($width * 180 / $height - 180)/2);
   }else{
     $config['y_axis'] = floor(($height * 180 / $width - 180)/2);
   }
   $this->image_lib->initialize($config);
   $this->image_lib->crop();
   
      $this->load->view('upload_success', $data);
    }
  }
}

以上就是本文的全部内容,希望对大家学习php程序设计有所帮助。

PHP 相关文章推荐
php过滤危险html代码
Aug 18 PHP
php date()日期时间函数详解
May 16 PHP
php 的加密函数 md5,crypt,base64_encode 等使用介绍
Apr 09 PHP
php中邮箱地址正则表达式实现与详解
Apr 24 PHP
PHP统计目录大小的自定义函数分享
Nov 18 PHP
一个简单的php MVC留言本实例代码(必看篇)
Sep 22 PHP
php实现的中文分词类完整实例
Feb 06 PHP
PHP图片裁剪与缩放示例(无损裁剪图片)
Feb 08 PHP
php中str_pad()函数用法分析
Mar 28 PHP
PHP API接口必备之输出json格式数据示例代码
Jun 27 PHP
php实现微信公众平台发红包功能
Jun 14 PHP
PHP常量define和const的区别详解
May 18 PHP
PHP单例模式是什么 php实现单例模式的方法
May 14 #PHP
PHP pear安装配置教程
May 14 #PHP
php+html5+ajax实现上传图片的方法
May 14 #PHP
yii2使用ajax返回json的实现方法
May 14 #PHP
php文件上传类完整实例
May 14 #PHP
Smarty高级应用之缓存操作技巧分析
May 14 #PHP
php生成Android客户端扫描可登录的二维码
May 13 #PHP
You might like
推荐几部必看的DC动画电影
2020/03/03 欧美动漫
PHP5中MVC结构学习
2006/10/09 PHP
MYSQL环境变量设置方法
2007/01/15 PHP
php中防止恶意刷新页面的代码小结
2012/10/31 PHP
CURL的学习和应用(附多线程实现)
2013/06/03 PHP
Symfony2学习笔记之控制器用法详解
2016/03/17 PHP
php mongodb操作类 带几个简单的例子
2016/08/25 PHP
PHP用continue跳过本次循环中剩余代码的注意点
2017/06/27 PHP
JS事件Event元素(兼容IE,Firefox,Chorme)
2012/11/01 Javascript
jquery实现输入框动态增减的实例代码
2013/07/14 Javascript
基于JQuery的列表拖动排序实现代码
2013/10/01 Javascript
jquery实现图片滚动效果的简单实例
2013/11/23 Javascript
javascript实现网页背景烟花效果的方法
2015/08/06 Javascript
JS+CSS相对定位实现的下拉菜单
2015/10/06 Javascript
Bootstrap选项卡学习笔记分享
2017/02/13 Javascript
jQuery Form插件使用详解_动力节点Java学院整理
2017/07/17 jQuery
详解如何从零开始搭建Express+Vue开发环境
2018/07/17 Javascript
微信小程序使用setData修改数组中单个对象的方法分析
2018/12/30 Javascript
微信小程序HTTP接口请求封装代码实例
2019/09/05 Javascript
jquery 时间戳转日期过程详解
2019/10/12 jQuery
[01:12:40]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第三场 1月25日
2021/03/11 DOTA
Python天气预报采集器实现代码(网页爬虫)
2012/10/07 Python
Python设计模式之单例模式实例
2014/04/26 Python
编写自定义的Django模板加载器的简单示例
2015/07/21 Python
深入解析Python中的list列表及其切片和迭代操作
2016/03/13 Python
Python collections模块使用方法详解
2019/08/28 Python
在django中自定义字段Field详解
2019/12/03 Python
解决django框架model中外键不落实到数据库问题
2020/05/20 Python
python实现图片素描效果
2020/09/26 Python
详解canvas drawImage()方法绘制图片不显示的问题
2018/10/08 HTML / CSS
Clearly澳大利亚:购买眼镜、太阳镜和隐形眼镜
2018/04/26 全球购物
澳大利亚著名的纺织品品牌:Canningvale
2020/05/05 全球购物
社区党员先进事迹
2014/01/22 职场文书
大队干部竞选演讲稿
2014/04/28 职场文书
植树造林的宣传标语
2014/06/23 职场文书
使用golang编写一个并发工作队列
2021/05/08 Golang