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

5年以前  |  阅读数:941 次  |  编程语言:PHP 

本文实例为大家分享了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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例