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 chmod 函数与批量修改文件目录权限
May 10 PHP
php中根据变量的类型 选择echo或dump
Jul 05 PHP
PHP递归返回值时出现的问题解决办法
Feb 19 PHP
PHP删除非空目录的函数代码小结
Feb 28 PHP
PHP中$this和$that指针使用实例
Jan 06 PHP
PHP中使用imagick生成PSD文件缩略图教程
Jan 26 PHP
PHP date函数常用时间处理方法
May 11 PHP
php 利用socket发送HTTP请求(GET,POST)
Aug 24 PHP
PDO操作MySQL的基础教程(推荐)
Aug 18 PHP
PHP有序表查找之二分查找(折半查找)算法示例
Feb 09 PHP
关于laravel模板中生成URL的几种模式总结
Oct 18 PHP
PHP使用递归按层级查找数据的方法
Nov 10 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/02/28 PHP
php实现window平台的checkdnsrr函数
2015/05/27 PHP
举例讲解PHP面对对象编程的多态
2015/08/12 PHP
PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)
2016/09/11 PHP
php微信开发之百度天气预报
2016/11/18 PHP
PHP静态成员变量和非静态成员变量详解
2017/02/14 PHP
jQuery ctrl+Enter shift+Enter实现代码
2010/02/07 Javascript
文本框(input)获取焦点(onfocus)时样式改变的示例代码
2014/01/10 Javascript
Nodejs的express使用教程
2015/11/23 NodeJs
详解nodejs 文本操作模块-fs模块(三)
2016/12/22 NodeJs
基于JS脚本语言的基础语法详解
2017/07/22 Javascript
微信小程序时间轴实现方法示例
2019/01/14 Javascript
详解50行代码,Node爬虫练手项目
2019/04/22 Javascript
vue本地打开build后生成的dist文件夹index.html问题
2019/09/04 Javascript
vue 组件销毁并重置的实现
2020/01/13 Javascript
Element Dropdown下拉菜单的使用方法
2020/07/26 Javascript
[01:03:38]2014 DOTA2国际邀请赛中国区预选赛5.21 CNB VS CIS
2014/05/22 DOTA
Python实现Sqlite将字段当做索引进行查询的方法
2016/07/21 Python
Python中__init__.py文件的作用详解
2016/09/18 Python
Python机器学习logistic回归代码解析
2018/01/17 Python
在python中实现对list求和及求积
2018/11/14 Python
基于django2.2连oracle11g解决版本冲突的问题
2020/07/02 Python
python使用Word2Vec进行情感分析解析
2020/07/31 Python
python中字符串的编码与解码详析
2020/12/03 Python
澳大利亚女性快速时尚零售商:Ally Fashion
2018/04/25 全球购物
OLEDBConnection和SQLConnection有什么区别
2013/05/31 面试题
人事主管的岗位职责
2013/11/16 职场文书
运动会广播稿100字
2014/01/11 职场文书
金融管理应届生求职信
2014/02/20 职场文书
大专生自荐书范文
2014/06/22 职场文书
初中国旗下的演讲稿
2014/08/28 职场文书
超市开店计划书
2014/09/15 职场文书
2015年法院工作总结范文
2015/04/28 职场文书
2015年加油站工作总结
2015/05/13 职场文书
离婚答辩状怎么写
2015/05/22 职场文书
餐厅开业活动方案
2019/07/08 职场文书