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&amp;java(三)
Oct 09 PHP
坏狼的PHP学习教程之第2天
Jun 15 PHP
理解和运用PHP中的多态性[译]
Aug 02 PHP
windows环境下php配置memcache的具体操作步骤
Jun 09 PHP
使用配置类定义Codeigniter全局变量
Jun 12 PHP
PHP生成图片验证码、点击切换实例
Jun 25 PHP
CentOS 6.3下安装PHP xcache扩展模块笔记
Sep 10 PHP
PHP中实现crontab代码分享
Mar 26 PHP
PHP中预定义的6种接口介绍
May 12 PHP
php计算给定日期所在周的开始日期和结束日期示例
Feb 06 PHP
PHP5.6新增加的可变函数参数用法分析
Aug 25 PHP
php实现支持中文的文件下载功能示例
Aug 30 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
PHP4实际应用经验篇(1)
2006/10/09 PHP
PHP中feof()函数实例测试
2014/08/23 PHP
PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例
2015/02/07 PHP
php如何实现只替换一次或N次
2015/10/29 PHP
PHP的运行机制与原理(底层)
2015/11/16 PHP
Yii2 中实现单点登录的方法
2018/03/09 PHP
Js之软键盘实现(js源码)
2007/01/30 Javascript
Flash+XML滚动新闻代码 无图片 附源码下载
2007/11/22 Javascript
SWFObject Flash js调用类
2008/07/08 Javascript
Js 随机数产生6位数字
2010/05/13 Javascript
Javascript Function对象扩展之延时执行函数
2010/07/06 Javascript
javascript检测对象中是否存在某个属性判断方法小结
2013/05/19 Javascript
jquery对单选框,多选框,文本框等常见操作小结
2014/01/08 Javascript
深入浅析JavaScript中的constructor
2016/04/19 Javascript
利用node.js写一个爬取知乎妹纸图的小爬虫
2017/05/03 Javascript
js+SVG实现动态时钟效果
2018/07/14 Javascript
vue 通过 Prop 向子组件传递数据的实现方法
2020/10/30 Javascript
利用Python演示数型数据结构的教程
2015/04/03 Python
使用基于Python的Tornado框架的HTTP客户端的教程
2015/04/24 Python
Python中操作符重载用法分析
2016/04/29 Python
Python 高级专用类方法的实例详解
2017/09/11 Python
python实现年会抽奖程序
2019/01/22 Python
Python+OpenCV采集本地摄像头的视频
2019/04/25 Python
python 下 CMake 安装配置 OPENCV 4.1.1的方法
2019/09/30 Python
python将时分秒转换成秒的实例
2019/12/07 Python
python中的逆序遍历实例
2019/12/25 Python
python 获取当前目录下的文件目录和文件名实例代码详解
2020/03/10 Python
CSS3径向渐变之大鱼吃小鱼之孤单的大鱼
2016/04/26 HTML / CSS
关于iframe跨域使用postMessage的实现
2019/10/29 HTML / CSS
Street One瑞士:德国现代时装公司
2019/10/09 全球购物
开办加工厂创业计划书
2014/01/03 职场文书
计算机毕业生自荐信
2014/06/12 职场文书
基层党建工作汇报材料
2014/08/15 职场文书
公民授权委托书
2014/10/15 职场文书
入团申请书格式
2019/06/20 职场文书
python基础之while循环语句的使用
2021/04/20 Python