PHP实例:PHP实现上传文件生成小图加文字的实例_[PHP教程]
					
//自动缩图srcFile原文件,大图;photo_small目标文件,小图;dstW,dstH是小图的宽,高。
function makethumb(srcFile,photo_small,dstW,dstH) {
 data = GetImageSize(srcFile);
 switch (data[2]) {
 case 1: //图片类型,1是GIF图
 im = @ImageCreateFromGIF(srcFile);
 break;
 case 2: //图片类型,2是JPG图
 im = @imagecreatefromjpeg(srcFile);
 break;
 case 3: //图片类型,3是PNG图
 im = @ImageCreateFromPNG(srcFile);
 break;
 }
 srcW=ImageSX(im);//原始图片的宽度,也可以使用data[0]
 srcH=ImageSY(im);//原始图片的高度,也可以使用data[1]
 srcX=0;//来源图的坐标x,y
 srcY=0;
 if((srcW/dstW)>(srcH/dstH)){//得出要生成图片的长宽
 dstW2=dstW;//输出图片的宽度、高度
 dstH2=srcH*dstW/srcW;
 dstX=0;//输出图形的坐标x,y
 dstY=(dstH-dstH2)/2;
 }
 else{
 dstH2=dstH;//输出图片的宽度、高度
 dstW2=srcW*dstW/srcH;
 dstX=(dstW-dstW2)/2;//输出图形的坐标x,y
 dstY=0;
 }
 ni=imagecreatetruecolor(dstW,dstH);//ImageCreate(dstW,dstH);画出空白花布的大小
 colorBody=imagecolorallocate(ni,235,234,233);//定义背景颜色
 imagefill(ni,0,0,colorBody);//填充背景颜色
 ImageCopyResized(ni,im,dstX,dstY,srcX,srcY,dstW2,dstH2,srcW,srcH);
 ImageJpeg(ni,photo_small);
 //ImageJpeg(ni); //在显示图片时用,把注释取消,可以直接在页面显示出图片。
}
//生成带有版权信息的图片
function makeCopyright(srcFile,dstFile,dstW,dstH){
 data = GetImageSize(srcFile);
 switch (data[2]) {
 case 1: //图片类型,1是GIF图
 srcImg = @ImageCreateFromGIF(srcFile);
 break;
 case 2: //图片类型,2是JPG图
 srcImg = @imagecreatefromjpeg(srcFile);
 break;
 case 3: //图片类型,3是PNG图
 srcImg = @ImageCreateFromPNG(srcFile);
 break;
 }
 srcW=ImageSX(srcImg);//原始图片的宽度,也可以使用data[0]
 srcH=ImageSY(srcImg);//原始图片的高度,也可以使用data[1]
 
 if((srcW/dstW)>(srcH/dstH)){//得出要生成图片的长宽
 dstW2=dstW;//输出图片的宽度、高度
 dstH2=srcH*dstW/srcW;
 }
 else{
 dstH2=dstH;//输出图片的宽度、高度
 dstW2=srcW*dstW/srcH;
 }
 dstimg=imagecreatetruecolor(dstW2,dstH2);//画出空白花布的大小
 ImageCopyResized(dstimg,srcImg,0,0,0,0,dstW2,dstH2,srcW,srcH);
 //定义要写入的文字
 word="";//文字
 font=5;//字体
 wordColor=imagecolorallocate(dstimg,0x08,0x00,0x00);//颜色
 wordX=dstW2-200;//x坐标
 wordY=dstH2-20;//y坐标
 imagestring(dstimg,font,wordX,wordY,word,wordColor);//写入文字
 ImageJpeg(dstimg,dstFile);
 //ImageJpeg(ni); //在显示图片时用,把注释取消,可以直接在页面显示出图片。
}
//调用
srcFile=pimg_name;//取得文件扩展名:
 type=substr(strrchr(pimg_name,"."),1);
 photo_ID=date("YmdHis");
 dst_small=photo_ID."_s.".type; //小图
 dst_big=photo_ID."_b.".type; //大图
 makethumb(pimg,"../cpzs/".dst_small,120,90);//120,90为小图宽,高
 makeCopyright(pimg,"../cpzs/".dst_big,600,480);
 //if(copy(pimg,"../cpzs/".dst_big))
 // echo "文件上传成功
";
 //else
 // echo "文件上传失败
";
?>