本文實例為大家詳細介紹了php實現圖片上傳、剪切功能的具體代碼,供大家參考,具體內容如下
<?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程序設計有所幫助。