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中执行系统外部命令
Oct 09 PHP
PHP 常见郁闷问题答解
Nov 25 PHP
eWebEditor v3.8 商业完整版 (PHP)
Dec 06 PHP
微盾PHP脚本加密专家php解密算法
Sep 13 PHP
谷歌音乐搜索栏的提示功能php修正代码
May 09 PHP
LotusPhp笔记之:基于ObjectUtil组件的使用分析
May 06 PHP
php引用返回与取消引用的详解
Jun 08 PHP
解析php入库和出库
Jun 25 PHP
php基于curl扩展制作跨平台的restfule 接口
May 11 PHP
迪菲-赫尔曼密钥交换(Diffie?Hellman)算法原理和PHP实现版
May 12 PHP
PHP中PDO连接数据库中各种DNS设置方法小结
May 13 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 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设计模式 Strategy(策略模式)
2011/06/26 PHP
php防止恶意刷新与刷票的方法
2014/11/21 PHP
定义select的边框颜色
2008/04/28 Javascript
js处理表格对table进行修饰
2014/05/26 Javascript
程序员必知35个jQuery 代码片段
2015/11/05 Javascript
SpringMVC返回json数据的三种方式
2015/12/10 Javascript
深入理解vue Render函数
2017/07/19 Javascript
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
2019/02/27 jQuery
jquery+ajax实现异步上传文件显示进度条
2020/08/17 jQuery
Vue和React有哪些区别
2020/09/12 Javascript
[00:36]DOTA2上海特级锦标赛 Alliance战队宣传片
2016/03/04 DOTA
[01:01:29]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第一场
2018/04/05 DOTA
在Python中操作文件之seek()方法的使用教程
2015/05/24 Python
Python实现删除文件但保留指定文件
2015/06/21 Python
利用python为运维人员写一个监控脚本
2018/03/25 Python
Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解
2018/09/04 Python
简单了解Python3里的一些新特性
2019/07/13 Python
浅谈Django+Gunicorn+Nginx部署之路
2019/09/11 Python
python的列表List求均值和中位数实例
2020/03/03 Python
浅谈django channels 路由误导
2020/05/28 Python
如何理解Python中的变量
2020/06/01 Python
详解selenium + chromedriver 被反爬的解决方法
2020/10/28 Python
Adobe Html5 Extension开发初体验图文教程
2017/11/14 HTML / CSS
YesBabyOnline美国:全球性的在线婚纱礼服工厂
2018/05/05 全球购物
德国药房apodiscounter中文官网:德国排名前三的网上药店
2019/06/03 全球购物
英国家具、照明、家居用品网上商店:Wayfair.co.uk
2020/02/13 全球购物
值类型与引用类型有什么不同?请举例说明?并分别列举几种相应的数据类型
2015/10/24 面试题
我们没有写servlet的构造方法,那么容器是怎么创建servlet的实例呢
2013/04/24 面试题
交通法规咨询中心工作职责
2013/11/27 职场文书
比赛口号大全
2014/06/10 职场文书
幼儿园见习报告范文
2014/10/30 职场文书
中学教师读书笔记
2015/07/01 职场文书
参加招聘会后的感想
2015/08/10 职场文书
《清澈的湖水》教学反思
2016/02/17 职场文书
zabbix监控mysql的实例方法
2021/06/02 MySQL
浅谈resultMap的用法及关联结果集映射
2021/06/30 Java/Android