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


Posted in PHP onMay 07, 2016

本文实例为大家详细介绍了php实现图片上传、剪切功能的具体代码,供大家参考,具体内容如下

<?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
ajax+php打造进度条代码[readyState各状态说明]
Apr 12 PHP
关于crontab的使用详解
Jun 24 PHP
php共享内存段示例分享
Jan 20 PHP
PHP中通过fopen()函数访问远程文件示例
Nov 18 PHP
php动态函数调用方法
May 21 PHP
php实现的mongodb操作类
May 28 PHP
php模拟post上传图片实现代码
Jun 24 PHP
php使用Jpgraph创建折线图效果示例
Feb 15 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 PHP
PHP的PDO连接讲解
Jan 24 PHP
Laravel基础-关于引入公共文件的两种方式
Oct 18 PHP
简单概括PHP的字符串中单引号与双引号的区别
May 07 #PHP
PHP检测链接是否存在的代码实例分享
May 06 #PHP
一波PHP中cURL库的常见用法代码示例
May 06 #PHP
PHP实现的简单分页类及用法示例
May 06 #PHP
PHP实现的多文件上传类及用法示例
May 06 #PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
May 06 #PHP
php将一维数组转换为每3个连续值组成的二维数组
May 06 #PHP
You might like
PHP 手机归属地查询 api
2010/02/08 PHP
php urlencode()与urldecode()函数字符编码原理详解
2011/12/06 PHP
PHP json_decode函数详细解析
2014/02/17 PHP
php将print_r处理后的数据还原为原始数组的解决方法
2016/11/02 PHP
[原创]IE view-source 无法查看看源码 JavaScript看网页源码
2009/07/19 Javascript
基于Jquery实现表格动态分页实现代码
2011/06/21 Javascript
JavaScript清空数组元素的两种方法简单比较
2015/07/10 Javascript
如何使用jquery修改css中带有!important的样式属性
2016/04/28 Javascript
深入理解bootstrap框架之入门准备
2016/10/09 Javascript
详解Angular.js的$q.defer()服务异步处理
2016/11/06 Javascript
angular实现IM聊天图片发送实例
2017/05/08 Javascript
浅谈Vue父子组件和非父子组件传值问题
2017/08/22 Javascript
vue环境搭建简单教程
2017/11/07 Javascript
详解easyui基于 layui.laydate日期扩展组件
2018/07/18 Javascript
jquery获取file表单选择文件的路径、名字、大小、类型
2019/01/18 jQuery
layui(1.0.9)文件上传upload,前后端的实例代码
2019/09/26 Javascript
JS桶排序的简单理解与实现方法示例
2019/11/25 Javascript
vue中音频wavesurfer.js的使用方法
2020/02/20 Vue.js
解决微信授权成功后点击按返回键出现空白页和报错的问题
2020/06/08 Javascript
python使用rabbitmq实现网络爬虫示例
2014/02/20 Python
Django 日志配置按日期滚动的方法
2019/01/31 Python
python查找重复图片并删除(图片去重)
2019/07/16 Python
python实现交并比IOU教程
2020/04/16 Python
如何使用Cython对python代码进行加密
2020/07/08 Python
Python tempfile模块生成临时文件和临时目录
2020/09/30 Python
python获得命令行输入的参数的两种方式
2020/11/02 Python
KENZO官网:高田贤三在法国创立的品牌
2019/05/16 全球购物
有趣的睡衣和礼物:LazyOne
2019/11/27 全球购物
全球领先的中国制造商品在线批发平台:DHgate
2020/01/28 全球购物
成人大专自我鉴定范文
2013/10/19 职场文书
毕业大学生自荐信
2014/06/17 职场文书
大学生入党积极分子自我评价
2014/09/20 职场文书
机关作风建设心得体会
2014/10/22 职场文书
2014年学生会干事工作总结
2014/11/07 职场文书
python实现股票历史数据可视化分析案例
2021/06/10 Python
Java实现超大Excel文件解析(XSSF,SXSSF,easyExcel)
2022/07/15 Java/Android