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 无极分类(递归)实现代码
Jan 05 PHP
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
Apr 02 PHP
phpmyadmin3 安装配置图解教程
Mar 29 PHP
有关phpmailer的详细介绍及使用方法
Jan 28 PHP
php保存二进制原始数据为图片的程序代码
Oct 14 PHP
PHP对文件进行加锁、解锁实例
Jan 23 PHP
PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例
Feb 07 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
Dec 14 PHP
数组任意位置插入元素,删除特定元素的实例
Mar 02 PHP
Yii2配置Nginx伪静态的方法
May 05 PHP
PHP机器学习库php-ml的简单测试和使用方法
Jul 14 PHP
php设计模式之工厂模式用法经典实例分析
Sep 20 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控制用户的浏览器--ob*函数的使用说明
2007/03/16 PHP
php防止sql注入示例分析和几种常见攻击正则表达式
2014/01/12 PHP
ThinkPHP中公共函数路径和配置项路径的映射分析
2014/11/22 PHP
在 PHP 和 Laravel 中使用 Traits的方法
2019/11/13 PHP
关于Mozilla浏览器不支持innerText的解决办法
2011/01/01 Javascript
Script的加载方法小结
2011/01/12 Javascript
一个通过script自定义属性传递配置参数的方法
2014/09/15 Javascript
zepto.js中tap事件阻止冒泡的实现方法
2015/02/12 Javascript
JS使用ajax从xml文件动态获取数据显示的方法
2015/03/24 Javascript
JavaScript实现页面5秒后自动跳转的方法
2015/04/16 Javascript
javascript高级选择器querySelector和querySelectorAll全面解析
2016/04/07 Javascript
深入剖析javascript中的exec与match方法
2016/05/18 Javascript
Javascript 实现微信分享(QQ、朋友圈、分享给朋友)
2016/10/21 Javascript
聊聊JavaScript如何实现继承及特点
2017/04/07 Javascript
js实现rem自动匹配计算font-size的示例
2017/11/18 Javascript
vue webpack实用技巧总结
2018/04/24 Javascript
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
2018/08/22 Javascript
koa2服务端使用jwt进行鉴权及路由权限分发的流程分析
2019/07/22 Javascript
Nodejs 识别图片类型的方法
2019/08/15 NodeJs
layui button 按钮弹出提示窗口,确定才进行的方法
2019/09/06 Javascript
在layui框架中select下拉框监听更改事件的例子
2019/09/20 Javascript
vue.js页面加载执行created,mounted的先后顺序说明
2020/11/07 Javascript
python利用装饰器进行运算的实例分析
2015/08/04 Python
常见的python正则用法实例讲解
2016/06/21 Python
python爬虫 正则表达式使用技巧及爬取个人博客的实例讲解
2017/10/20 Python
Python编程二分法实现冒泡算法+快速排序代码示例
2018/01/15 Python
Python多线程扫描端口代码示例
2018/02/09 Python
Python3转换html到pdf的不同解决方案
2019/03/11 Python
Python代码实现http/https代理服务器的脚本
2019/08/12 Python
HTML5+CSS3应用详解
2014/02/24 HTML / CSS
台湾网购生鲜第一品牌:i3Fresh爱上新鲜
2017/10/26 全球购物
小学生班会演讲稿
2014/01/09 职场文书
2014年乡镇妇联工作总结
2014/12/02 职场文书
旅游安全责任协议书
2016/03/22 职场文书
导游词之上海豫园
2019/10/24 职场文书
MySQL 外连接语法之 OUTER JOIN
2022/04/09 MySQL