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 进程锁定问题分析研究
Nov 24 PHP
php 目录遍历、删除 函数的使用介绍
Apr 28 PHP
php 地区分类排序算法
Jul 01 PHP
PHP Switch 语句之学习笔记
Sep 21 PHP
PHP数据库万能引擎类adodb配置使用以及实例集锦
Jun 12 PHP
php中cookie实现二级域名可访问操作的方法
Nov 11 PHP
WordPress中is_singular()函数简介
Feb 05 PHP
php对文件进行hash运算的方法
Apr 03 PHP
Linux系统递归生成目录中文件的md5的方法
Jun 29 PHP
ThinkPHP中类的构造函数_construct()与_initialize()的区别详解
Mar 13 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
Dec 12 PHP
一文搞懂php的垃圾回收机制
Jun 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下载文件的代码示例
2012/06/29 PHP
深入php数据采集的详解
2013/06/02 PHP
PHP内存缓存Memcached类实例
2014/12/08 PHP
Yii2框架实现注册和登录教程
2016/09/30 PHP
javascript显示选择目录对话框的代码
2008/11/10 Javascript
JS 常用校验函数
2009/03/26 Javascript
jQuery 操作下拉列表框实现代码
2010/02/22 Javascript
JavaScript三元运算符的多种使用技巧
2015/04/16 Javascript
JavaScript中通过提示框跳转页面的方法
2016/02/14 Javascript
微信小程序 wx:key详细介绍
2016/10/28 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(一)
2017/01/21 Javascript
详解Vue.js基于$.ajax获取数据并与组件的data绑定
2017/05/26 Javascript
jquery鼠标悬停导航下划线滑出效果
2017/09/29 jQuery
详解开源的JavaScript插件化框架MinimaJS
2017/10/26 Javascript
vue-cli webpack 引入jquery的方法
2018/01/10 jQuery
Vue数字输入框组件的使用方法
2019/10/19 Javascript
详解react组件通讯方式(多种)
2020/05/06 Javascript
JS变量提升原理与用法实例浅析
2020/05/22 Javascript
[15:15]教你分分钟做大人:狙击手
2014/10/30 DOTA
一个简单的python程序实例(通讯录)
2013/11/29 Python
python原始套接字编程示例分享
2014/02/21 Python
Python 字典dict使用介绍
2014/11/30 Python
Python获取运行目录与当前脚本目录的方法
2015/06/01 Python
对python遍历文件夹中的所有jpg文件的实例详解
2018/12/08 Python
pandas.read_csv参数详解(小结)
2019/06/21 Python
Django 项目布局方法(值得推荐)
2020/03/22 Python
python反编译教程之2048小游戏实例
2021/03/03 Python
详解CSS3的opacity属性设置透明效果的用法
2016/05/09 HTML / CSS
IE9对HTML5中部分属性不支持的原因分析
2014/10/15 HTML / CSS
DeinDesign德国:设计自己的手机壳
2019/12/14 全球购物
初婚未育未抱养证明
2014/01/12 职场文书
2014年三八妇女节活动方案
2014/02/28 职场文书
国际贸易毕业生自荐书
2014/06/22 职场文书
新闻学专业职业生涯规划范文:我的人生我做主
2014/09/12 职场文书
2016年公司新年寄语
2015/08/17 职场文书
初中生物教学反思
2016/02/20 职场文书