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获取网络上文件
Oct 09 PHP
PHP 和 MySQL 基础教程(一)
Oct 09 PHP
php面向对象全攻略 (十四) php5接口技术
Sep 30 PHP
ionCube 一款类似zend的PHP加密/解密工具
Jul 25 PHP
PHP Array交叉表实现代码
Aug 05 PHP
php连接数据库代码应用分析
May 29 PHP
PHP 过滤页面中的BOM(实现代码)
Jun 29 PHP
PHP中的替代语法简介
Aug 22 PHP
PHP代码优化技巧小结
Sep 29 PHP
php经典算法集锦
Nov 14 PHP
PHP使用DOM对XML解析处理操作示例
Jul 04 PHP
laravel-admin 实现给grid的列添加行数序号的方法
Oct 08 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
PHP版网站缓存加快打开速度的方法分享
2012/06/03 PHP
PHP 中提示undefined index如何解决(多种方法)
2016/03/16 PHP
PHP中抽象类、接口的区别与选择分析
2016/03/29 PHP
PHP+JQuery+Ajax实现分页方法详解
2016/08/06 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
2019/10/17 PHP
在线编辑器的实现原理(兼容IE和FireFox)
2007/03/09 Javascript
JQUERY复选框CHECKBOX全选,取消全选
2008/08/30 Javascript
jquery的$(document).ready()和onload的加载顺序
2010/05/26 Javascript
别了 JavaScript中的isXX系列
2012/08/01 Javascript
纯JavaScript实现的兼容各浏览器的添加和移除事件封装
2015/03/28 Javascript
js中flexible.js实现淘宝弹性布局方案
2020/06/23 Javascript
浅谈angular4生命周期钩子
2017/09/05 Javascript
详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持
2017/10/21 Javascript
vue使用jsonp抓取qq音乐数据的方法
2018/06/21 Javascript
JavaScript引用类型RegExp基本用法详解
2018/08/09 Javascript
Angular2之二级路由详解
2018/08/31 Javascript
express 项目分层实践详解
2018/12/10 Javascript
vue-router结合vuex实现用户权限控制功能
2019/11/14 Javascript
python实现百度关键词排名查询
2014/03/30 Python
Python获取央视节目单的实现代码
2015/07/25 Python
一波神奇的Python语句、函数与方法的使用技巧总结
2015/12/08 Python
Python+selenium 获取一组元素属性值的实例
2018/06/22 Python
tensorflow保持每次训练结果一致的简单实现
2020/02/17 Python
css3实现画半圆弧线的示例代码
2017/11/06 HTML / CSS
联想新加坡官方网站:Lenovo Singapore
2017/10/24 全球购物
Under Armour安德玛意大利官网:美国高端运动科技品牌
2020/01/16 全球购物
园艺专业毕业生求职信
2014/09/02 职场文书
政府个人对照检查材料思想汇报
2014/10/08 职场文书
党员先进事迹材料
2014/12/19 职场文书
2015年教师自我评价范文
2015/03/04 职场文书
员工工作表现自我评价
2015/03/06 职场文书
诉讼和解协议书
2016/03/23 职场文书
2016年圣诞节义工活动总结
2016/04/01 职场文书
话题作文之关于呼唤
2019/11/29 职场文书
python实现web邮箱扫描的示例(附源码)
2021/03/30 Python
如何在Python项目中引入日志
2021/05/31 Python