如何将上传的图片自动缩小

来源:百度知道 编辑:UC知道 时间:2024/09/28 11:26:20
大家好,我是建站菜鸟,现在想问一个问题,请各位高人指点.
我想做一个php的图片上传和展示系统,功能已经基本实现.但想提高一下技术,请问一下如何将上传的图片自动另存为并缩小为一定的尺寸(即在数据库中有两张图片,一张小图,一张大图),展示时展现的小图(实际大小已经被缩小,不是将大图放进去),点击小图出现大图.因为这样的话的话打开图片展示页面时服务器只是将小图下下来,加快浏览速度,想要看大图的才点击浏览相应的大图.

如果不这样的话,每张图片都要先用图片处理工具处理再上传的话那就太麻烦了,如果图片多的话那还更惨.

请各位高手帮一下忙吧,java的 php的都行.

小图展示就象这样 [url]http://album.ent.tom.com/folder.php?directory_id=138447[/url](他的图片实际尺寸以缩小)

大图的就如 [url]http://album.ent.tom.com/photo.php?file_id=967061[/url] (小图和大图应该是两张图片来的)

PHP缩略图生成程序
使用方法: 在支持GD库的PHP环境中,将以下代码另存为resize.php测试

<?

$FILENAME="image_name";

// 生成图片的宽度
$RESIZEWIDTH=400;

// 生成图片的高度
$RESIZEHEIGHT=400;

//生成图片的路径
$uploaddir="c:/winnt/temp";

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 = $