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读取XML值的代码(推荐)
Jan 01 PHP
php+iframe实现隐藏无刷新上传文件
Feb 10 PHP
PHP执行批量mysql语句的解决方法
May 02 PHP
基于PHP一些十分严重的缺陷详解
Jun 03 PHP
php禁止浏览器使用缓存页面的方法
Nov 07 PHP
PHP数组操作――获取数组最后一个值的方法
Apr 14 PHP
试用php中oci8扩展
Jun 18 PHP
CI框架中数据库操作函数$this-&gt;db-&gt;where()相关用法总结
May 17 PHP
php curl中gzip的压缩性能测试实例分析
Nov 08 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
Dec 07 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
Oct 10 PHP
小程序微信支付功能配置方法示例详解【基于thinkPHP】
May 05 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操作excel文件 基于phpexcel
2010/07/02 PHP
ThinkPHP查询语句与关联查询用法实例
2014/11/01 PHP
PHP注释语法规范与命名规范详解篇
2018/01/21 PHP
基于javascipt-dom编程 table对象的使用
2013/04/22 Javascript
JS替换字符串中字符即替换全部而不是第一个
2014/06/04 Javascript
jQuery插件Zclip实现完美兼容个浏览器点击复制内容到剪贴板
2015/04/30 Javascript
AngularJS通过$http和服务器通信详解
2016/09/21 Javascript
Vue.JS入门教程之事件监听
2016/12/01 Javascript
浅析JavaScript动画模拟拖拽原理
2016/12/09 Javascript
Node.js复制文件的方法示例
2016/12/29 Javascript
js转换对象为xml
2017/02/17 Javascript
jQuery开源组件BootstrapValidator使用详解
2017/06/29 jQuery
JavaScript实现的搜索及高亮显示功能示例
2017/08/14 Javascript
使用vue2实现购物车和地址选配功能
2018/03/29 Javascript
Vue 获取数组键名的方法
2018/06/21 Javascript
ES5新增数组的实现方法
2020/05/12 Javascript
在HTML中使用JavaScript的两种方法
2020/12/24 Javascript
Python爬虫爬验证码实现功能详解
2016/04/14 Python
Python的消息队列包SnakeMQ使用初探
2016/06/29 Python
python 获取sqlite3数据库的表名和表字段名的实例
2019/07/17 Python
利用anaconda作为python的依赖库管理方法
2019/08/13 Python
基于matplotlib中ion()和ioff()的使用详解
2020/06/16 Python
利用python如何实现猫捉老鼠小游戏
2020/12/04 Python
Python try except else使用详解
2021/01/12 Python
焊接专业毕业生求职信
2013/10/01 职场文书
语文教学感言
2014/02/06 职场文书
安全大检查实施方案
2014/02/22 职场文书
设备动力科岗位职责范本
2014/02/23 职场文书
市场部业务员岗位职责
2014/04/02 职场文书
行政专员岗位职责范本
2014/08/26 职场文书
贪污受贿检讨书范文
2014/11/19 职场文书
打架检讨书
2015/01/27 职场文书
2015年幼儿园学期工作总结
2015/05/22 职场文书
关于应聘教师的自荐信
2016/01/28 职场文书
导游词之蜀山胜景瓦屋山
2019/11/29 职场文书
一行代码python实现文件共享服务器
2021/04/22 Python