本文实例讲述了php实现在服务器端调整图片大小的方法。分享给大家供大家参考。具体分析如下:
在服务器端完成图片大小的调整,会比在浏览器的处理有很多的好处。
本文介绍了PHP如何在服务器端调整图片大小。
代码包括两部分:
① imageResizer() is used to process the image
② loadimage() inserts the image url in a simpler format
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
|
<?php function imageResizer( $url , $width , $height ) { header( 'Content-type: image/jpeg' ); list( $width_orig , $height_orig ) = getimagesize ( $url ); $ratio_orig = $width_orig / $height_orig ; if ( $width / $height > $ratio_orig ) { $width = $height * $ratio_orig ; } else { $height = $width / $ratio_orig ; } // This resamples the image $image_p = imagecreatetruecolor( $width , $height ); $image = imagecreatefromjpeg( $url ); imagecopyresampled( $image_p , $image , 0, 0, 0, 0, $width , $height , $width_orig , $height_orig ); // Output the image imagejpeg( $image_p , null, 100); } //works with both POST and GET $method = $_SERVER [ 'REQUEST_METHOD' ]; if ( $method == 'GET' ) { imageResize( $_GET [ 'url' ], $_GET [ 'w' ], $_GET [ 'h' ]); } elseif ( $method == 'POST' ) { imageResize( $_POST [ 'url' ], $_POST [ 'w' ], $_POST [ 'h' ]); } // makes the process simpler function loadImage( $url , $width , $height ){ echo 'image.php?url=' , urlencode( $url ) , '&w=' , $width , '&h=' , $height ; } ?> |
用法:
1
2
3
|
//Above code would be in a file called image.php. //Images would be displayed like this: <img src= "<?php loadImage('image.jpg', 50, 50) ?>" alt= "" /> |
希望本文所述对大家的php程序设计有所帮助。