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 相关文章推荐
PHP5.0对象模型探索之抽象方法和抽象类
Sep 05 PHP
十天学会php(2)
Oct 09 PHP
深入了解php4(1)--回到未来
Oct 09 PHP
mayfish 数据入库验证代码
Apr 30 PHP
php设计模式 Prototype (原型模式)代码
Jun 26 PHP
windows下zendframework项目环境搭建(通过命令行配置)
Dec 06 PHP
PHP用星号隐藏部份用户名、身份证、IP、手机号等实例
Apr 08 PHP
PHP使用MPDF类生成PDF的方法
Dec 08 PHP
Joomla实现组件中弹出一个模式(modal)窗口的方法
May 04 PHP
thinkphp3.2实现在线留言提交验证码功能
Jul 19 PHP
laravel清除视图缓存的代码
Oct 23 PHP
Laravel 5+ .env环境配置文件详解
Apr 06 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
攻克CakePHP系列三 表单数据增删改
2008/10/22 PHP
php使用unset()删除数组中某个单元(键)的方法
2015/02/17 PHP
简单介绍PHP非阻塞模式
2016/03/03 PHP
javascript编程起步(第四课)
2007/02/27 Javascript
兼容ie和firefox js关闭代码
2008/12/11 Javascript
jQuery中unwrap()方法用法实例
2015/01/16 Javascript
javascript单例模式的简单实现方法
2015/07/25 Javascript
javascript cookie的简单应用
2016/02/24 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
2017/05/11 Javascript
Javascript幻灯片播放功能实现过程解析
2020/05/07 Javascript
[02:55]含熏伴清风,风行者至宝、屠夫身心及典藏宝瓶二展示
2020/09/08 DOTA
python写xml文件的操作实例
2014/10/05 Python
python实现根据窗口标题调用窗口的方法
2015/03/13 Python
python flask 多对多表查询功能
2017/06/25 Python
Python OpenCV处理图像之图像像素点操作
2018/07/10 Python
详解python中init方法和随机数方法
2019/03/13 Python
python exit出错原因整理
2020/08/31 Python
python opencv实现图像配准与比较
2021/02/09 Python
一文读懂python Scrapy爬虫框架
2021/02/24 Python
突袭HTML5之Javascript API扩展5—其他扩展(应用缓存/服务端消息/桌面通知)
2013/01/31 HTML / CSS
德国百年厨具品牌WMF美国站:WMF美国
2016/09/12 全球购物
The Beach People美国:澳洲海滨奢华品牌
2018/07/05 全球购物
Melissa鞋英国官方网站:Nonnon
2019/05/01 全球购物
奥地利手表、香水、化妆品和珠宝购物网站:Brasty.at
2021/01/17 全球购物
Python里面如何实现tuple和list的转换
2012/06/13 面试题
会计自我鉴定
2014/02/04 职场文书
服装设计师求职信
2014/06/04 职场文书
中秋晚会策划方案
2014/06/12 职场文书
数控专业毕业生求职信
2014/06/12 职场文书
司法局群众路线教育实践活动整改措施
2014/09/17 职场文书
2014迎国庆标语大全
2014/09/19 职场文书
教师党的群众路线对照检查材料
2014/09/24 职场文书
销售会议开幕词
2015/01/28 职场文书
美德少年主要事迹材料
2015/11/04 职场文书
Nginx本地目录映射实现代码实例
2021/03/31 Servers
SONY600GR,国产收音机厂商永远的痛
2022/04/05 无线电