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


Posted in PHP onMay 07, 2016

本文实例为大家详细介绍了php实现图片上传、剪切功能的具体代码,供大家参考,具体内容如下

<?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集成FCK的函数代码
Sep 27 PHP
CakePHP去除默认显示的标题及图标的方法
Oct 22 PHP
CodeIgniter基本配置详细介绍
Nov 12 PHP
php中使用sftp教程
Mar 30 PHP
PHP如何将log信息写入服务器中的log文件
Jul 29 PHP
PHP实现获取某个月份周次信息的方法
Aug 11 PHP
PHP文件上传类实例详解
Apr 08 PHP
利用Laravel事件系统如何实现登录日志的记录详解
May 20 PHP
php 数据结构之链表队列
Oct 17 PHP
PHP 布尔值的自增与自减的实现方法
May 03 PHP
CI框架实现创建自定义类库的方法
Dec 25 PHP
stripos函数知识点实例分享
Feb 11 PHP
简单概括PHP的字符串中单引号与双引号的区别
May 07 #PHP
PHP检测链接是否存在的代码实例分享
May 06 #PHP
一波PHP中cURL库的常见用法代码示例
May 06 #PHP
PHP实现的简单分页类及用法示例
May 06 #PHP
PHP实现的多文件上传类及用法示例
May 06 #PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
May 06 #PHP
php将一维数组转换为每3个连续值组成的二维数组
May 06 #PHP
You might like
PHP在不同页面间传递Json数据示例代码
2013/06/08 PHP
PHP中使用Imagick实现各种图片效果实例
2015/01/21 PHP
PHP中的类型提示(type hinting)功能介绍
2015/07/01 PHP
PHP简单字符串过滤方法示例
2016/09/04 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
2017/08/28 PHP
PHP设计模式之工厂方法设计模式实例分析
2018/04/25 PHP
Mootools 1.2教程 Tooltips
2009/09/15 Javascript
BAT及各大互联网公司2014前端笔试面试题--JavaScript篇
2014/10/29 Javascript
html的DOM中document对象images集合用法实例
2015/01/21 Javascript
详解maxlength属性在textarea里奇怪的表现
2015/12/27 Javascript
jQuery事件绑定用法详解(附bind和live的区别)
2016/01/19 Javascript
JavaScript操作选择对象的简单实例
2016/05/16 Javascript
JS实现队列的先进先出功能示例
2017/05/10 Javascript
vue解决使用webpack打包后keep-alive不生效的方法
2018/09/01 Javascript
如何在Vue中使用CleaveJS格式化你的输入内容
2018/12/14 Javascript
JS 实现发送短信验证码的“59秒后重新发送验证短信”功能
2019/08/23 Javascript
微信小程序引入VANT组件的方法步骤
2019/09/19 Javascript
Python 中 list 的各项操作技巧
2017/04/13 Python
将python代码和注释分离的方法
2018/04/21 Python
Python实现的计算器功能示例
2018/04/26 Python
python实现udp传输图片功能
2020/03/20 Python
CSS3弹性伸缩布局之box布局
2016/07/12 HTML / CSS
新加坡时尚网上购物:Zalora新加坡
2016/07/26 全球购物
匡威英国官网:Converse英国
2018/12/02 全球购物
李维斯法国官网:Levi’s法国
2019/07/13 全球购物
企业军训感言
2014/02/08 职场文书
建筑公司员工自我鉴定
2014/04/08 职场文书
卖车协议书
2014/04/21 职场文书
大学英语演讲稿范文
2014/04/24 职场文书
党的群众路线教育实践活动个人自我剖析材料
2014/10/07 职场文书
行政人事主管岗位职责
2015/04/11 职场文书
小平您好观后感
2015/06/09 职场文书
2016年清明节网上祭英烈活动总结
2016/04/01 职场文书
《暗黑破坏神2:重制版》本周进行第一轮A测 目前可官网进行申请报名
2021/04/07 其他游戏
CSS变量实现主题切换的方法
2021/06/23 HTML / CSS
一篇文章带你学习Mybatis-Plus(新手入门)
2021/08/02 Java/Android