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

前端技术 2023/09/02 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程序设计有所帮助。

本文地址:https://www.stayed.cn/item/4820

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。