当前位置:首页 > PHP教程 > php上传下载 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-08-05 10:34:39 浏览: 评论:0 

这篇文章主要为大家详细介绍了php基于CodeIgniter实现图片上传、剪切功能,具有参考价值,感兴趣的朋友可以参考一下。

本文实例为大家分享了codeigniter 图片上传、剪切,控制器类,供大家参考,具体内容如下:

  1. <?php 
  2. defined('BASEPATH') OR exit('No direct script access allowed'); 
  3.  
  4. class Index extends MY_Controller { 
  5.  function __construct(){ 
  6.     parent::__construct(); 
  7.     $this->load->helper(array('form''url')); 
  8.   } 
  9.  
  10.   /** 
  11.    * 首页 
  12.    */ 
  13.   public function index() { 
  14.     $this->load->view('upload_form'array('error' => ' ' )); 
  15.   } 
  16.     
  17.     
  18.  public function do_upload() 
  19.   { 
  20.     $config['upload_path']   = './data/uploads/'
  21.     $config['allowed_types']  = 'gif|jpg|png'
  22.     $config['max_size']   = 100; 
  23.     $config['max_width']    = 1024; 
  24.     $config['max_height']    = 768; 
  25.  
  26.     $this->load->library('upload'$config); 
  27.  
  28.     if ( ! $this->upload->do_upload('userfile')) 
  29.     { 
  30.       $error = array('error' => $this->upload->display_errors()); 
  31.  
  32.       $this->load->view('upload_form'$error); 
  33.     } 
  34.     else 
  35.     { 
  36.       $data = array('upload_data' => $this->upload->data()); 
  37.         
  38.       $this->load->library('image_lib');       
  39.    list($width$height) = getimagesize($data['upload_data']['full_path']); 
  40.    $config['image_library'] = 'gd2'
  41.    $config['source_image'] = $data['upload_data']['full_path']; 
  42.    $config['maintain_ratio'] = TRUE; 
  43.    if($width >= $height
  44.    { 
  45.      $config['master_dim'] = 'height'
  46.    }else
  47.      $config['master_dim'] = 'width'
  48.    } 
  49.    $config['width'] = 180; 
  50.    $config['height'] = 180; 
  51.    $this->image_lib->initialize($config); 
  52.    $this->image_lib->resize(); 
  53.    
  54.    $config['maintain_ratio'] = FALSE; 
  55.    if($width >= $height
  56.    { 
  57.      $config['x_axis'] = floor(($width * 180 / $height - 180)/2); 
  58.    }else
  59.      $config['y_axis'] = floor(($height * 180 / $width - 180)/2); 
  60.    } 
  61.    $this->image_lib->initialize($config); 
  62.    $this->image_lib->crop(); 
  63.      
  64.       $this->load->view('upload_success'$data); 
  65.     } 
  66.   } 
  67. }

Tags: CodeIgniter图片上传 php图片上传

分享到: