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

6年以前  |  阅读数:1048 次  |  编程语言: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程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8