PHP 编程:PHP 服务端图片生成缩略图的方法
本文为大家分享介绍 PHP 服务端图片生成缩略图的方法,需要的朋友参考下
代码如下:
<?php
//定义缩略图片尺寸
$picSize
=
array
(
'100_100'=> 1,
'200_100'=> 1
);
$imagePath
= "../image/";
function
parseUrl(
$url
){
preg_match("/(?P<name>[\w\d]+)_w(?P<width>\d+)_h(?P<height>\d+)\.(?P<ext>\w+)/",
$url
,
$match
);
return
$match
;
}
$urlArr
=
explode
("/",
$_SERVER
['REQUEST_URI']);
$imgName
=
$urlArr
[
count
(
$urlArr
)-1];
$picInfo
= parseUrl(
$imgName
);
//错误尺寸
if
(
empty
(
$picInfo
['width']) ||
empty
(
$picInfo
['height']) ||
!
array_key_exists
(
$picInfo
['width'].'_'.
$picInfo
['height'],
$picSize
))
die
('不存在该尺寸图片');
$originalPic
=
$imagePath
.
$picInfo
['name'].'/'.
$picInfo
['name'].'.'.
$picInfo
['ext'];
//原始图不存在
if
(!
file_exists
(
$originalPic
))
die
("图片不存在!");
/**
*等比例压缩图片
*/
switch
(
$picInfo
['ext']){
case
'jpg':
$orgImg
= ImageCreateFromJpeg(
$originalPic
);
break
;
default
:
break
;
}
$owidth
= ImageSX(
$orgImg
);
//原始尺寸