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 相关文章推荐
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
Apr 12 PHP
php 方便水印和缩略图的图形类
May 21 PHP
php下过滤html代码的函数 提高程序安全性
Mar 02 PHP
php foreach 参数强制类型转换的问题
Dec 10 PHP
用PHP代替JS玩转DOM的思路及示例代码
Jun 15 PHP
ThinkPHP多语言支持与多模板支持概述
Aug 22 PHP
php设计模式之单例模式实例分析
Feb 25 PHP
浅谈php中urlencode与rawurlencode的区别
Sep 05 PHP
Ajax实现对静态页面的文章访问统计功能示例
Oct 10 PHP
PHP实现正则表达式分组捕获操作示例
Feb 03 PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
Jun 13 PHP
Yii中特殊行为ActionFilter的使用方法示例
Oct 18 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下使用无限生命期Session的方法
2007/03/16 PHP
php 运行效率总结(提示程序速度)
2009/11/26 PHP
完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
2013/06/08 PHP
详解PHP原生DOM对象操作XML的方法
2016/10/17 PHP
js程序中美元符号$是什么
2008/06/05 Javascript
ASP Json Parser修正版
2009/12/06 Javascript
jQuery 选择器、DOM操作、事件、动画
2010/11/25 Javascript
点弹代码 点击页面任何位置都可以弹出页面效果代码
2012/09/17 Javascript
jQuery中setTimeout的几种使用方法小结
2013/04/07 Javascript
关于jQuery判断元素是否存在的问题示例探讨
2014/07/21 Javascript
浅谈node.js中async异步编程
2015/10/22 Javascript
超漂亮的Bootstrap 富文本编辑器summernote
2016/04/05 Javascript
AngularJs定制样式插入到ueditor中的问题小结
2016/08/01 Javascript
原生js获取元素样式的简单方法
2016/08/06 Javascript
通过网页查看JS源码中汉字显示乱码的解决方法
2016/10/26 Javascript
基于JavaScript实现全选、不选和反选效果
2017/02/15 Javascript
第一次记录Bootstrap table学习笔记(1)
2017/05/18 Javascript
利用SpringMVC过滤器解决vue跨域请求的问题
2018/02/10 Javascript
vue-cli+axios实现文件上传下载功能(下载接收后台返回文件流)
2019/05/10 Javascript
用原生JS实现爱奇艺首页导航栏代码实例
2019/09/19 Javascript
从零学python系列之教你如何根据图片生成字符画
2014/05/23 Python
浅析python 中__name__ = '__main__' 的作用
2014/07/05 Python
python通过pil模块将raw图片转换成png图片的方法
2015/03/16 Python
对于Python中RawString的理解介绍
2016/07/07 Python
Python 分发包中添加额外文件的方法
2019/08/16 Python
Python namedtuple命名元组实现过程解析
2020/01/08 Python
武汉某公司的C#笔试题面试题
2015/12/25 面试题
经济管理毕业生求职信
2014/03/15 职场文书
退休教师欢送会主持词
2014/03/31 职场文书
安全环保标语
2014/06/09 职场文书
计算机毕业生求职信
2014/06/10 职场文书
科技节口号
2014/06/19 职场文书
公司离职证明样本
2014/09/13 职场文书
故意伤害人身损害赔偿协议书
2014/11/19 职场文书
格林童话读书笔记
2015/06/30 职场文书
2015年高三教学工作总结
2015/07/21 职场文书