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 相关文章推荐
火车头采集器3.0采集图文教程
Mar 17 PHP
PHP 七大优势分析
Jun 23 PHP
php foreach 使用&amp;(与运算符)引用赋值要注意的问题
Feb 16 PHP
深入Nginx + PHP 缓存详解
Jul 11 PHP
解析php中curl_multi的应用
Jul 17 PHP
小谈php正则提取图片地址
Mar 27 PHP
php使用Cookie控制访问授权的方法
Jan 21 PHP
php返回当前日期或者指定日期是周几
May 21 PHP
Json_decode 解析json字符串为NULL的解决方法(必看)
Feb 17 PHP
PHP编辑器PhpStrom运行缓慢问题
Feb 21 PHP
php提交表单时保留多个空格及换行的文本样式的方法
Jun 20 PHP
PHP5.0 TIDY_PARSE_FILE缓冲区溢出漏洞的解决方案
Oct 14 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
浅谈本地WAMP环境的搭建
2015/05/13 PHP
PHP实现中文圆形印章特效
2015/06/19 PHP
php基于自定义函数记录log日志方法
2017/07/21 PHP
两个比较有用的Javascript工具函数代码
2010/02/17 Javascript
JavaScript 页面编码与浏览器类型判断代码
2010/06/03 Javascript
基于jquery的图片轮播 tab切换组件
2012/07/19 Javascript
jQuery登陆判断简单实现代码
2013/04/21 Javascript
js中的数组Array定义与sort方法使用示例
2013/08/29 Javascript
JS中使用Array函数shift和pop创建可忽略参数的例子
2014/05/28 Javascript
javascript格式化json显示实例分析
2015/04/21 Javascript
基于JQuery实现图片轮播效果(焦点图)
2016/02/02 Javascript
详解vue前后台数据交互vue-resource文档
2017/07/19 Javascript
Vue实战之vue登录验证的实现代码
2017/10/31 Javascript
开发一个Parcel-vue脚手架工具(详细步骤)
2018/09/22 Javascript
javascript中floor使用方法总结
2019/02/02 Javascript
vue中template的三种写法示例
2020/10/21 Javascript
微信小程序实现购物车功能
2020/11/18 Javascript
python基础教程之简单入门说明(变量和控制语言使用方法)
2014/03/25 Python
在主机商的共享服务器上部署Django站点的方法
2015/07/22 Python
Django中的Signal代码详解
2018/02/05 Python
Python实现简单的文本相似度分析操作详解
2018/06/16 Python
Python求两个圆的交点坐标或三个圆的交点坐标方法
2018/11/07 Python
python利用re,bs4,requests模块获取股票数据
2019/07/29 Python
django和vue实现数据交互的方法
2019/08/21 Python
python 实现从高分辨图像上抠取图像块
2020/01/02 Python
python连接mysql有哪些方法
2020/06/24 Python
python+excel接口自动化获取token并作为请求参数进行传参操作
2020/11/10 Python
毕业学生推荐信
2013/12/01 职场文书
工作交流会欢迎词
2014/01/12 职场文书
消防安全员岗位职责
2014/03/10 职场文书
2014年入党积极分子党课学习心得体会模板
2014/04/03 职场文书
医院党员公开承诺书
2014/08/30 职场文书
2014中学教师节广播稿
2014/09/10 职场文书
干部作风建设工作总结
2014/10/29 职场文书
Tomcat项目启动失败的原因和解决办法
2022/04/20 Servers
MySQL 字符集 character
2022/05/04 MySQL