php基于CodeIgniter实现图片上传、剪切功能


Posted in PHP onMay 14, 2016

本文实例为大家分享了codeigniter 图片上传、剪切,控制器类,供大家参考,具体内容如下

<?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.NET的入门教程
Oct 09 PHP
php下的权限算法的实现
Apr 28 PHP
php实现的在线人员函数库
Apr 09 PHP
PHP数组对比函数,存在交集则返回真,否则返回假
Feb 03 PHP
PHP面向对象——访问修饰符介绍
Nov 08 PHP
php截取字符串之截取utf8或gbk编码的中英文字符串示例
Mar 12 PHP
php中用memcached实现页面防刷新功能
Aug 19 PHP
关于PHP中Session文件过多的问题及session文件保存位置
Mar 17 PHP
PHP文件操作实例总结
Sep 27 PHP
curl 出现错误的调试方法(必看)
Feb 13 PHP
php curl上传、下载、https登陆实现代码
Jul 23 PHP
Laravel框架自定义公共函数的引入操作示例
Apr 16 PHP
PHP单例模式是什么 php实现单例模式的方法
May 14 #PHP
PHP pear安装配置教程
May 14 #PHP
php+html5+ajax实现上传图片的方法
May 14 #PHP
yii2使用ajax返回json的实现方法
May 14 #PHP
php文件上传类完整实例
May 14 #PHP
Smarty高级应用之缓存操作技巧分析
May 14 #PHP
php生成Android客户端扫描可登录的二维码
May 13 #PHP
You might like
一个显示天气预报的程序
2006/10/09 PHP
url decode problem 解决方法
2011/12/26 PHP
phpcms模块开发之swfupload的使用介绍
2013/04/28 PHP
深入解析php之apc
2013/05/15 PHP
php 使用array函数实现分页
2015/02/13 PHP
详解YII关联查询
2016/01/10 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
2017/11/14 PHP
Javascript 错误处理的几种方法
2009/06/13 Javascript
javascript 限制输入脚本大全
2009/11/03 Javascript
在一个浏览器里呈现所有浏览器测试结果的前端测试工具的思路
2010/03/02 Javascript
JavaScript 错误处理与调试经验总结
2010/08/10 Javascript
Javascript中的window.event.keyCode使用介绍
2011/04/26 Javascript
EasyUI实现第二层弹出框的方法
2015/03/01 Javascript
JS采用绝对定位实现回到顶部效果完整实例
2016/06/20 Javascript
jQuery插件easyUI实现通过JS显示Dialog的方法
2016/09/16 Javascript
Bootstrap整体框架之JavaScript插件架构
2016/12/15 Javascript
canvas实现探照灯效果
2017/02/07 Javascript
JS排序之冒泡排序详解
2017/04/08 Javascript
JavaScript hasOwnProperty() 函数实例详解
2017/08/04 Javascript
JavaScript实现焦点进入文本框内关闭输入法的核心代码
2017/09/20 Javascript
vue.js打包之后可能会遇到的坑!
2018/06/03 Javascript
Vue组件之单向数据流的解决方法
2018/11/10 Javascript
[02:58]魔廷新尊——痛苦女王至宝语音台词节选
2020/06/14 DOTA
Python使用django获取用户IP地址的方法
2015/05/11 Python
简介Django中内置的一些中间件
2015/07/24 Python
Windows下Python使用Pandas模块操作Excel文件的教程
2016/05/31 Python
利用pyinstaller将py文件打包为exe的方法
2018/05/14 Python
python设置值及NaN值处理方法
2018/07/03 Python
python合并多个excel文件的示例
2020/09/23 Python
Pandora德国官网:购买潘多拉手链、戒指、项链和耳环
2020/02/20 全球购物
巴西最大的玩具连锁店:Ri Happy
2020/06/17 全球购物
25岁生日感言
2014/01/13 职场文书
高中生的自我评价
2014/03/04 职场文书
青年文明号创建承诺
2014/03/31 职场文书
五水共治捐款倡议书
2014/05/14 职场文书
住房抵押登记委托书
2014/09/27 职场文书