经典的PHP缩略图生成程式,基于GD库,可指定生成路径及生成目标的宽高细节 使用方法: 在支持GD库的PHP环境中,将以下代码另存为resize.php测试
经典的PHP缩略图生成程式,基于GD库,可指定生成路径及生成目标的宽高细节
使用方法: 在支持GD库的PHP环境中,将以下代码另存为resize.php测试
<?
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
$FILENAME
=
"
image_name
"
;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
//
生成图片的宽度
$RESIZEWIDTH
=
400
;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
//
生成图片的高度
$RESIZEHEIGHT
=
400
;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
//
生成图片的路径
$uploaddir
=
"
c:/winnt/temp
"
;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
function
ResizeImage(
$im
,
$maxwidth
,
$maxheight
,
$name
){
global
$uploaddir
;
$width
=
imagesx(
$im
);
$height
=
imagesy(
$im
);
if
((
$maxwidth
&&
$width
>
$maxwidth
)
||
(
$maxheight
&&
$height
>
$maxheight
)){
if
(
$maxwidth
&&
$width
>
$maxwidth
){
$widthratio
=
$maxwidth
/
$width
;
$RESIZEWIDTH
=
true
;
}
if
(
$maxheight
&&
$height
>
$maxheight
){
$heightratio
=
$maxheight
/
$height
;
$RESIZEHEIGHT
=
true
;
}
if
(
$RESIZEWIDTH
&&
$RESIZEHEIGHT
){
if
(
$widthratio
<
$heightratio
){
$ratio
=
$widthratio
;
}
else
{
$ratio
=
$heightratio
;
}
}
elseif
(
$RESIZEWIDTH
){
$ratio
=
$widthratio
;
}
elseif
(
$RESIZEHEIGHT
){
$ratio
=
$heightratio
;
}
$newwidth
=
$width
*
$ratio
;
$newheight
=
$height
*
$ratio
;
if
(
function_exists
(
"
imagecopyresampled
"
)){
$newim
=
imagecreatetruecolor(
$newwidth
,
$newheight
);
imagecopyresampled(
$newim
,
$im
,
0
,
0
,
0
,
0
,
$newwidth
,
$newheight
,
$width
,
$height
);
}
else
{
$newim
=
imagecreate(
$newwidth
,
$newheight
);
imagecopyresized(
$newim
,
$im
,
0
,
0
,
0
,
0
,
$newwidth
,
$newheight
,
$width
,
$height
);
}
ImageJpeg (
$newim
,
$uploaddir
.
$name
.
"
.jpg
"
);
ImageDestroy (
$newim
);
}
else
{
ImageJpeg (
$im
,
$uploaddir
.
$name
.
"
.jpg
"
);
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
if
(
$_FILES
[
'
image
'
][
'
size
'
]){
if
(
$_FILES
[
'
image
'
][
'
type
'
]
==
"
image/pjpeg
"
){
$im
=
imagecreatefromjpeg(
$_FILES
[
'
image
'
][
'
tmp_name
'
]);
}
elseif
(
$_FILES
[
'
image
'
][
'
type
'
]
==
"
image/x-png
"
){
$im
=
imagecreatefrompng(
$_FILES
[
'
image
'
][
'
tmp_name
'
]);
}
elseif
(
$_FILES
[
'
image
'
][
'
type
'
]
==
"
image/gif
"
){
$im
=
imagecreatefromgif(
$_FILES
[
'
image
'
][
'
tmp_name
'
]);
}
if
(
$im
){
if
(
file_exists
(
"
$FILENAME.jpg
"
)){
unlink
(
"
$FILENAME.jpg
"
);
}
ResizeImage(
$im
,
$RESIZEWIDTH
,
$RESIZEHEIGHT
,
$FILENAME
);
ImageDestroy (
$im
);
}
}
?>
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
<
img src
=
"
<? echo($FILENAME.
"
.
jpg
?
reload
=
"
.rand(0,999999)); ?>
"
><
br
><
br
>
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
<
form enctype
=
"
multipart/form-data
"
method
=
"
post
"
>
<
br
>
<
input type
=
"
file
"
name
=
"
image
"
size
=
"
50
"
value
=
"
浏览
"
><
p
>
<
input type
=
"
submit
"
value
=
"
上传图片
"
>
</
form
>
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
</
body
>
</
html
>