php實(shí)現(xiàn)圖片上傳/剪切功能

字號(hào):


    本文實(shí)例為大家詳細(xì)介紹了php實(shí)現(xiàn)圖片上傳、剪切功能的具體代碼,供大家參考,具體內(nèi)容如下
    <?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'));
      }
      /**
       * 首頁(yè)
       */
      public function index() {
        $this->load->view('upload_form', array('error' => ' ' ));
      }
      public function do_upload()
      {
        $config['upload_path']   = './datahttp://pic02.newdu.com/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);
        }
      }
    }
    以上就是本文的全部?jī)?nèi)容,希望對(duì)大家學(xué)習(xí)php程序設(shè)計(jì)有所幫助。