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 相关文章推荐
服务器端解压缩zip的脚本
Dec 22 PHP
php预定义常量
Dec 25 PHP
PHP数组对比函数,存在交集则返回真,否则返回假
Feb 03 PHP
PHP 八种基本的数据类型小结
Jun 01 PHP
基于xcache的配置与使用详解
Jun 18 PHP
php使用wordwrap格式化文本段落的方法
Mar 17 PHP
PHP中preg_match函数正则匹配的字符串长度问题
May 27 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
Dec 10 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
Aug 04 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
Dec 21 PHP
php+Ajax处理xml与json格式数据的方法示例
Mar 04 PHP
Yii使用EasyWechat实现小程序获取用户的openID的方法
Apr 29 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
超外差式晶体管收音机的组装与统调
2021/03/01 无线电
多文件上载系统完整版
2006/10/09 PHP
基于mysql的论坛(5)
2006/10/09 PHP
php下统计用户在线时间的一种尝试
2010/08/26 PHP
yii的入口文件index.php中为什么会有这两句
2016/08/04 PHP
PHP实现网站访问量计数器
2017/10/27 PHP
PHP命名空间简单用法示例
2018/12/28 PHP
PHP封装的mysqli数据库操作类示例
2019/02/16 PHP
JavaScript判断两种格式的输入日期的正确性的代码
2007/03/25 Javascript
复制小说文本时出现的随机乱码的去除方法
2010/09/07 Javascript
JavaScript高级程序设计(第3版)学习笔记 概述
2012/10/11 Javascript
两个select多选模式的选项相互移动(示例代码)
2014/01/11 Javascript
jQuery中选择器小问题(新人难免遇到)
2014/03/31 Javascript
iframe中使用jquery进行查找的方法【案例分析】
2016/06/17 Javascript
jQuery easyui刷新当前tabs的方法
2016/09/23 Javascript
Vue Transition实现类原生组件跳转过渡动画的示例
2017/08/19 Javascript
基于JavaScript实现前端数据多条件筛选功能
2020/08/19 Javascript
Vue中 axios delete请求参数操作
2020/08/25 Javascript
vue 实现基础组件的自动化全局注册
2020/12/25 Vue.js
[02:16]2018年度CS GO最具人气选手-完美盛典
2018/12/16 DOTA
纯python实现机器学习之kNN算法示例
2018/03/01 Python
使用Django和Postgres进行全文搜索的实例代码
2020/02/13 Python
Python3爬虫带上cookie的实例代码
2020/07/28 Python
Python中logger日志模块详解
2020/08/04 Python
通过一张图教会你CSS3倒影的实现
2017/09/26 HTML / CSS
德国柯吉澳趣味家居:Koziol
2017/08/24 全球购物
一级方程式赛车官方网上商店:F1 Store(支持中文)
2018/01/12 全球购物
澳大利亚便宜隐形眼镜购买网站:QUICKLENS Australia
2018/10/06 全球购物
俄罗斯香水和化妆品在线商店:Aroma-butik
2020/02/28 全球购物
介绍一下Java的事务处理
2012/12/07 面试题
爱心捐款感谢信
2015/01/20 职场文书
青年教师个人总结
2015/02/11 职场文书
化验员岗位职责
2015/02/14 职场文书
运动会广播稿200字
2015/08/19 职场文书
字典算法实现及操作 --python(实用)
2021/03/31 Python
如何判断微信付款码和支付宝付款码
2021/04/01 PHP