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