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&amp;java(三)
Oct 09 PHP
PHP 错误之引号中使用变量
May 04 PHP
两个强悍的php 图像处理类1
Jun 15 PHP
基于php无限分类的深入理解
Jun 02 PHP
PHP获取客户端真实IP地址的5种情况分析和实现代码
Jul 08 PHP
thinkphp循环结构用法实例
Nov 24 PHP
学习PHP session的传递方式
Jun 15 PHP
CI框架入门之MVC简单示例
Nov 21 PHP
php基于dom实现读取图书xml格式数据的方法
Feb 03 PHP
Yii2 加载css、js 载静态资源的方法
Mar 10 PHP
PHP过滤器 filter_has_var() 函数用法实例分析
Apr 23 PHP
php使用event扩展的io复用测试的示例
Oct 20 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
ie与session丢失(新窗口cookie丢失)实测及解决方案
2013/07/15 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(三)
2014/06/23 PHP
完整删除ecshop中获取店铺信息的API
2014/12/24 PHP
PHP获取当前相对于域名目录的方法
2015/06/26 PHP
PHP微信模板消息操作示例
2017/06/29 PHP
几个高效,简洁的字符处理函数
2007/04/12 Javascript
javascript与CSS复习(《精通javascript》)
2010/06/29 Javascript
js获取html参数及向swf传递参数应用介绍
2013/02/18 Javascript
Document.location.href和.replace的区别示例介绍
2014/03/04 Javascript
JS中怎样判断undefined(比较不错的方法)
2014/03/27 Javascript
jQuery基于事件控制实现点击显示内容下拉效果
2017/03/07 Javascript
新版小程序登录授权的方法
2018/12/12 Javascript
Vue动态创建注册component的实例代码
2019/06/14 Javascript
封装Vue Element的table表格组件的示例详解
2020/08/19 Javascript
简介Python设计模式中的代理模式与模板方法模式编程
2016/02/02 Python
windows下python安装paramiko模块和pycrypto模块(简单三步)
2017/07/06 Python
python的pdb调试命令的命令整理及实例
2017/07/12 Python
Python 异常处理的实例详解
2017/09/11 Python
Python将多个excel表格合并为一个表格
2021/02/22 Python
python matplotlib绘图,修改坐标轴刻度为文字的实例
2018/05/25 Python
python如何实现从视频中提取每秒图片
2020/10/22 Python
Anaconda的安装与虚拟环境建立
2020/11/18 Python
美团网旗下网上订餐平台:美团外卖
2020/03/05 全球购物
SQL里面IN比较快还是EXISTS比较快
2012/07/19 面试题
土木工程专业个人求职信
2013/12/05 职场文书
法学个人求职信范文
2014/01/27 职场文书
《夕阳真美》教学反思
2014/04/27 职场文书
中药学专业求职信
2014/05/31 职场文书
实验室的标语
2014/06/20 职场文书
海洋科学专业求职信
2014/08/10 职场文书
课外小组活动总结
2014/08/27 职场文书
党的群众路线教育实践活动个人整改方案
2014/10/25 职场文书
2014年学校党建工作总结
2014/11/11 职场文书
电影雷锋观后感
2015/06/10 职场文书
关于maven依赖 ${xxx.version}报错问题
2022/01/18 Java/Android
Fluentd搭建日志收集服务
2022/09/23 Servers