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 Parse Error: syntax error, unexpected $end 错误的解决办法
Jun 05 PHP
php中使用接口实现工厂设计模式的代码
Jun 17 PHP
解析php php_openssl.dll的作用
Jul 01 PHP
一个PHP的ZIP压缩类分享
May 04 PHP
php判断电脑访问、手机访问的例子
May 10 PHP
php返回json数据函数实例
Oct 09 PHP
typecho插件编写教程(五):核心代码
May 28 PHP
php实现的AES加密类定义与用法示例
Jan 29 PHP
Laravel 加载第三方类库的方法
Apr 20 PHP
php用xpath解析html的代码实例讲解
Feb 14 PHP
使用laravel和ajax实现整个页面无刷新的操作方法
Oct 03 PHP
PHP框架实现WebSocket在线聊天通讯系统
Nov 21 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使用file_get_content设置头信息的方法
2016/02/14 PHP
PHP正则判断一个变量是否为正整数的方法
2019/02/27 PHP
javascript sudoku 数独智力游戏生成代码
2010/03/27 Javascript
Jquery动态进行图片缩略的原理及实现
2013/08/13 Javascript
nodejs的10个性能优化技巧
2014/07/15 NodeJs
深入理解JavaScript系列(41):设计模式之模板方法详解
2015/03/04 Javascript
在JavaScript中处理字符串之link()方法的使用
2015/06/08 Javascript
jquery实现表格中点击相应行变色功能效果【实例代码】
2016/05/09 Javascript
require简单实现单页应用程序(SPA)
2016/07/12 Javascript
Javascript 实现简单计算器实例代码
2016/10/23 Javascript
前端实现文件的断点续传(前端文件提交+后端PHP文件接收)
2016/11/04 Javascript
Jquery实现跨域异步上传文件总结
2017/02/03 Javascript
vue2.0移动端滑动事件vue-touch的实例代码
2018/11/27 Javascript
解决layui的radio属性或别的属性没显示出来的问题
2019/09/26 Javascript
浅谈vue在html中出现{{}}的原因及解决方式
2020/11/16 Javascript
Python爬虫爬验证码实现功能详解
2016/04/14 Python
Python实现读取并保存文件的类
2017/05/11 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
2019/10/24 Python
python3实现单目标粒子群算法
2019/11/14 Python
Python对Tornado请求与响应的数据处理
2020/02/12 Python
pytorch查看通道数 维数 尺寸大小方式
2020/05/26 Python
Python3.9 beta2版本发布了,看看这7个新的PEP都是什么
2020/06/10 Python
Python3安装模块报错Microsoft Visual C++ 14.0 is required的解决方法
2020/07/28 Python
Python图像读写方法对比
2020/11/16 Python
css3模拟jq点击事件的实例代码
2017/07/06 HTML / CSS
css3旋转木马_动力节点Java学院整理
2017/07/12 HTML / CSS
台湾最大银发乐活百货:乐龄网
2018/05/21 全球购物
澳大利亚礼品卡商店:Gift Card Store
2019/06/24 全球购物
梅西百货官网:Macy’s
2020/08/04 全球购物
见习期自我鉴定
2013/11/07 职场文书
信息技术专业个人自我评价
2013/12/11 职场文书
高考备战决心书
2014/03/11 职场文书
2014年医院工作总结
2014/11/20 职场文书
社区好人好事材料
2014/12/26 职场文书
英语通知范文
2015/04/22 职场文书
民事申诉状范本
2015/05/20 职场文书