本文实例为大家详细介绍了php实现图片上传、剪切功能的具体代码,供大家参考,具体内容如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
<?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程序设计有所帮助。