本文实例为大家分享了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程序设计有所帮助。