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 相关文章推荐
BBS(php &amp; mysql)完整版(五)
Oct 09 PHP
用PHP实现Ftp用户的在线管理的代码
Mar 06 PHP
php heredoc和phpwind的模板技术使用方法小结
Mar 28 PHP
PHP中查询SQL Server或Sybase时TEXT字段被截断的解决方法
Mar 10 PHP
php在页面中调用fckeditor编辑器的方法
Jun 10 PHP
一组PHP加密解密函数分享
Jun 05 PHP
PHP时间类完整实例(非常实用)
Dec 25 PHP
php支付宝在线支付接口开发教程
Sep 19 PHP
PHP中常用的魔术方法
Apr 28 PHP
php实现保存周期为1天的购物车类
Jul 07 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 PHP
PHP封装请求类实例分析【基于Yii框架】
Oct 17 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中使用虚代理实现延迟加载技术
2014/11/05 PHP
PHP实用函数分享之去除多余的0
2015/02/06 PHP
php字符串按照单词进行反转的方法
2015/03/14 PHP
highchart数据源纵轴json内的值必须是int(详解)
2017/02/20 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
PHP7 参数处理机制修改
2021/03/09 PHP
JQuery优缺点分析说明
2011/04/10 Javascript
你必须知道的JavaScript 中字符串连接的性能的一些问题
2013/05/07 Javascript
Jquery的hover方法让鼠标经过li时背景变色
2013/09/06 Javascript
重写document.write实现无阻塞加载js广告(补充)
2014/12/12 Javascript
JQuery使用index方法获取Jquery对象数组下标的方法
2015/05/18 Javascript
javascript检查浏览器是否已经启用XX功能
2015/07/10 Javascript
页面内容排序插件jSort使用方法
2015/10/10 Javascript
浅谈jQuery效果函数
2016/09/16 Javascript
教你一步步用jQyery实现轮播器
2016/12/18 Javascript
JSONP跨域请求
2017/03/02 Javascript
关于使用axios的一些心得技巧分享
2017/07/02 Javascript
微信小程序 共用变量值的实现
2017/07/12 Javascript
JavaScript基于面向对象实现的猜拳游戏
2018/01/03 Javascript
vue和webpack安装命令详解
2018/06/15 Javascript
Vue三种常用传值示例(父传子、子传父、非父子)
2018/07/24 Javascript
vue实现循环切换动画
2018/10/17 Javascript
微信小程序实现单列下拉菜单效果
2019/04/25 Javascript
echarts实现晶体球面投影的实例教程
2020/10/10 Javascript
[02:43]DOTA2英雄基础教程 德鲁伊
2014/01/13 DOTA
python实现定时压缩指定文件夹发送邮件
2020/12/22 Python
基于python读取.mat文件并取出信息
2019/12/16 Python
利用Python制作动态排名图的实现代码
2020/04/09 Python
python调用百度AI接口实现人流量统计
2021/02/03 Python
CSS3实现闪烁动画效果的方法
2015/02/09 HTML / CSS
英国手机壳购买网站:Case Hut
2019/04/11 全球购物
如何提高JDBC的性能
2013/04/30 面试题
幼儿园六一主持词开场白
2015/05/28 职场文书
2016廉洁从业学习心得体会
2016/01/19 职场文书
2016年共产党员个人承诺书
2016/03/24 职场文书
OpenCV实现反阈值二值化
2021/11/17 Java/Android