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

 更新时间:2016年05月07日 14:55:20   作者:Jpchina  
这篇文章主要为大家详细介绍了php实现图片上传、剪切功能,具有一定的参考价值,感兴趣的朋友可以参考一下

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

相关文章

  • php使用curl_init()和curl_multi_init()多线程的速度比较详解

    php使用curl_init()和curl_multi_init()多线程的速度比较详解

    这篇文章主要介绍了php使用curl_init()和curl_multi_init()多线程的速度比较,结合实例形式详细分析了curl_init()和curl_multi_init()的具体使用方法及相关效率比较,需要的朋友可以参考下
    2018-08-08
  • php实现Linux服务器木马排查及加固功能

    php实现Linux服务器木马排查及加固功能

    这篇文章主要介绍了php实现Linux服务器木马排查及加固功能,本文给出了根据特征码查找、搜索最近被修改的文件、修改php.ini、修改nginx.conf等方法,需要的朋友可以参考下
    2014-12-12
  • php对数组内元素进行随机调换的方法

    php对数组内元素进行随机调换的方法

    这篇文章主要介绍了php对数组内元素进行随机调换的方法,通过自定义函数实现对数组内元素进行随机调换的功能,涉及php操作数组的相关技巧,需要的朋友可以参考下
    2015-05-05
  • php生成海报和指定文字的示例代码

    php生成海报和指定文字的示例代码

    这篇文章主要给大家介绍如何使用php生成海报和指定文字,文中有详细的示例代码,对大家的学习或工作有一定的帮助,具有一定的参考价值,感兴趣的同学可以自己动手试一下
    2023-10-10
  • php打造属于自己的MVC框架

    php打造属于自己的MVC框架

    本篇先介绍一下php的MVC实现原理,我们框架的MVC部分也是基于此原理实现的,但是今天的代码并不是框架内的代码,仅仅为说明原理
    2012-03-03
  • php变量范围介绍

    php变量范围介绍

    变量的范围即它定义的上下文背景(也就是它生效的范围)。大部分的 PHP 变量只有一个单独的范围。这个单独的范围跨度同样包含了 include 和 require 引入的文件
    2012-10-10
  • 在WordPress中使用wp_count_posts函数来统计文章数量

    在WordPress中使用wp_count_posts函数来统计文章数量

    这篇文章主要介绍了在WordPress中使用wp_count_posts函数来统计文章数量的方法,同时也可以统计草稿及页面的数量,相当实用,需要的朋友可以参考下
    2016-01-01
  • 解决PhpMyAdmin中导入2M以上大文件限制的方法分享

    解决PhpMyAdmin中导入2M以上大文件限制的方法分享

    当用phpMyAdmin导入的资料库大小大于2M的时候,会出现如下提示: No data was received to import. Either no file name was submitted、or the file size exceeded the maximum size permitted by your PHP configuration. See FAQ 1.16.
    2014-06-06
  • 用php将任何格式视频转为flv的代码

    用php将任何格式视频转为flv的代码

    用php将任何格式视频转为flv的实现代码,大家可以参考下。
    2009-09-09
  • PHP基于phpqrcode生成带LOGO图像的二维码实例

    PHP基于phpqrcode生成带LOGO图像的二维码实例

    这篇文章主要介绍了PHP基于phpqrcode生成带LOGO图像的二维码,可实现生成带logo与不带logo两种二维码的功能,非常简单实用,需要的朋友可以参考下
    2015-07-07

最新评论