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 传值赋值与引用赋值的区别
Dec 29 PHP
destoon出现验证码不显示时的紧急处理方法
Aug 22 PHP
ThinkPHP处理Ajax返回的方法
Nov 22 PHP
浅谈PHP拦截器之__set()与__get()的理解与使用方法
Oct 18 PHP
php中类和对象:静态属性、静态方法
Apr 09 PHP
PHP编程求最大公约数与最小公倍数的方法示例
May 29 PHP
详解php 使用Callable Closure强制指定回调类型
Oct 26 PHP
php 广告点击统计代码(php+mysql)
Feb 21 PHP
PHP+Session防止表单重复提交的解决方法
Apr 09 PHP
PHP等比例压缩图片的实例代码
Jul 26 PHP
laravel5.6 框架邮件队列database驱动简单demo示例
Jan 26 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
May 01 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
ThinkPHP框架设计及扩展详解
2014/11/25 PHP
PHP调用存储过程返回值不一致问题的解决方法分析
2016/04/26 PHP
功能强大的PHP POST提交数据类
2016/07/15 PHP
utf8的编码算法 转载
2006/12/27 Javascript
ExtJs3.0中Store添加 baseParams 的Bug
2010/03/10 Javascript
js prototype截取字符串函数
2010/04/01 Javascript
跟我一起学写jQuery插件开发方法(附完整实例及下载)
2010/04/01 Javascript
select、radio表单回显功能实现避免使用jquery载入赋值
2013/06/08 Javascript
jQuery插件Flexslider实现图片轮播、图文结合滑动切换效果
2020/04/16 Javascript
JavaScript模块化之使用requireJS按需加载
2017/04/12 Javascript
Nodejs读取文件时相对路径的正确写法(使用fs模块)
2017/04/27 NodeJs
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
2017/11/27 Javascript
Vue实现购物车场景下的应用
2017/11/27 Javascript
微信小程序实现简单跑马灯效果
2020/05/26 Javascript
vue-cli 3.x配置跨域代理的实现方法
2019/04/12 Javascript
vue router总结 $router和$route及router与 router与route区别
2019/07/05 Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
2019/09/04 Javascript
JS继承实现方法及优缺点详解
2020/09/02 Javascript
Tensorflow 自带可视化Tensorboard使用方法(附项目代码)
2018/02/10 Python
Python参数类型以及常见的坑详解
2019/07/08 Python
Django使用消息提示简单的弹出个对话框实例
2019/11/15 Python
tensorflow2.0保存和恢复模型3种方法
2020/02/03 Python
html5/css3响应式页面开发总结
2018/10/16 HTML / CSS
英国皇家邮政海外旗舰店:Royal Mail
2018/02/21 全球购物
白俄罗斯大卖场:21vek.by
2019/07/25 全球购物
英国名牌男装店:Standout
2021/02/17 全球购物
介绍下WebSphere的安全性
2013/01/31 面试题
优秀企业获奖感言
2014/02/01 职场文书
服务型党组织建设典型材料
2014/05/07 职场文书
电视节目策划方案
2014/05/16 职场文书
协会周年庆活动方案
2014/08/26 职场文书
离婚承诺书格式范文
2015/05/04 职场文书
超市员工辞职信范文
2015/05/12 职场文书
《红领巾真好》教学反思
2016/02/16 职场文书
JAVA长虹键法之建造者Builder模式实现
2022/04/10 Java/Android
速龙x4-860k处理器相当于i几
2022/04/20 数码科技