All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
XML经典问答_[XML教程]
构建安全的Xml,Web,Service系列(一)_[Asp.Net教程]
单击GridView某行获取该行某列内容并显示_[Asp.Net教程]
delphi vcl组件高级编程
在Web.config配置文件中自定义配置节点_[Asp.Net教程]
PHP5,OOP编程之代理与定制异常_php资料_编程技术
我的一个Asp.Net验证码源代码_[Asp.Net教程]
PHP对GB编码动态转UTF-8几种方法评测_php资料_编程技术
动态网页制作技术PHP入门:什么是Apache?_php资料_编程技术
关于ASP.NET中日期转换的心得_[Asp.Net教程]
Reading number is top 10 pictures
A man's favorite things10
2013中国四川省高考作文
30 beautiful school beauty4
Perfect small Laurie1
Men's and women's orgasms
Absolutely shocked. National geographic 50 animal photographys4
Soldier saw beauty after the reaction
The world's top ten most beautiful railway station2
Kim jong il's mistress, national beauty JinYuJi actor3
Small s breast enhancement demonstration
Download software ranking
apache-tomcat-6.0.33
dreamweaver8中文版
Tram sex maniac 2 (H) rar bag10
1400篇各类破解文章
Tram sex maniac 2 (H) rar bag17
Tram sex maniac 2 (H) rar bag15
WebService在.NET中的实战应用教学视频 → 第5集
Professional killers2 data package
The Bermuda triangle1
网页特效实例大全
归海一刀 published in(发表于) 2014/2/17 7:40:39 Edit(编辑)
PHP:实现给上传图片加水印的程序代码_[PHP教程]

PHP:实现给上传图片加水印的程序代码_[PHP教程]

PHP:实现给上传图片加水印的程序代码_[PHP教程]

  用PHP给上传图片加水印的程序是通过判断文件类型建立图形,然后把其复制到原建立的图形上,填充并建立rectangle,以备写入imagestring()或是原已经定好的图像程序当中判断水印类型:一是字符串,另是增加一个图形对象在上面。如果你对PHP的GD库比较熟悉,看懂这篇文章一点都不难了!


/*****************************************************
参数说明:
max_file_size : 上传文件大小限制, 单位BYTE
destination_folder : 上传文件路径
watermark : 是否附加水印(1为加水印,其他为不加水印);
使用说明:
1. 将PHP.INI文件里面的"extension=php_gd2.dll"一行前面的;号去掉,因为我们要用到GD库;
2. 将extension_dir =改为你的php_gd2.dll所在目录;
****************************************************/
//上传文件类型列表
uptypes=array(
'image/jpg',
'image/jpeg',
'image/png',
'image/pjpeg',
'image/gif',
'image/bmp',
'image/x-png'
);
max_file_size=2000000; //上传文件大小限制, 单位BYTE
destination_folder="uploadimg/"; //上传文件路径
watermark=1; //是否附加水印(1为加水印,其他为不加水印);
watertype=1; //水印类型(1为文字,2为图片)
waterposition=1; //水印位置(1为左下角,2为右下角,3为左上角,4为右上角,5为居中);
waterstring=; //水印字符串
waterimg="xplore.gif"; //水印图片
imgpreview=1; //是否生成预览图(1为生成,其他为不生成);
imgpreviewsize=1/2; //缩略图比例
?>


ZwelL图片上传程序





上传文件:



允许上传的文件类型为:

if (_SERVER['REQUEST_METHOD'] == 'POST')
{
if (!is_uploaded_file(_FILES["upfile"][tmp_name]))
//是否存在文件
{
echo "图片不存在!";
exit;
}
file = _FILES["upfile"];
if(max_file_size < file["size"])
//检查文件大小
{
echo "文件太大!";
exit;
}
if(!in_array(file["type"], uptypes))
//检查文件类型
{
echo "文件类型不符!".file["type"];
exit;
}
if(!file_exists(destination_folder))
{
mkdir(destination_folder);
}
filename=file["tmp_name"];
image_size = getimagesize(filename);
pinfo=pathinfo(file["name"]);
ftype=pinfo['extension'];
destination = destination_folder.time().".".ftype;
if (file_exists(destination) && overwrite != true)
{
echo "同名文件已经存在了";
exit;
}
if(!move_uploaded_file (filename, destination))
{
echo "移动文件出错";
exit;
}
pinfo=pathinfo(destination);
fname=pinfo[basename];
echo " 已经成功上传
文件名: ".destination_folder.fname."
";
echo " 宽度:".image_size[0];
echo " 长度:".image_size[1];
echo "
大小:".file["size"]." bytes";
if(watermark==1)
{
iinfo=getimagesize(destination,iinfo);
nimage=imagecreatetruecolor(image_size[0],image_size[1]);
white=imagecolorallocate(nimage,255,255,255);
black=imagecolorallocate(nimage,0,0,0);
red=imagecolorallocate(nimage,255,0,0);
imagefill(nimage,0,0,white);
switch (iinfo[2])
{
case 1:
simage =imagecreatefromgif(destination);
break;
case 2:
simage =imagecreatefromjpeg(destination);
break;
case 3:
simage =imagecreatefrompng(destination);
break;
case 6:
simage =imagecreatefromwbmp(destination);
break;
default:
die("不支持的文件类型");
exit;
}
imagecopy(nimage,simage,0,0,0,0,image_size[0],image_size[1]);
imagefilledrectangle(nimage,1,image_size[1]-15,80,image_size[1],white);
switch(watertype)
{
case 1: //加水印字符串
imagestring(nimage,2,3,image_size[1]-15,waterstring,black);
break;
case 2: //加水印图片
simage1 =imagecreatefromgif("xplore.gif");
imagecopy(nimage,simage1,0,0,0,0,85,15);
imagedestroy(simage1);
break;
}
switch (iinfo[2])
{
case 1:
//imagegif(nimage, destination);
imagejpeg(nimage, destination);
break;
case 2:
imagejpeg(nimage, destination);
break;
case 3:
imagepng(nimage, destination);
break;
case 6:
imagewbmp(nimage, destination);
//imagejpeg(nimage, destination);
break;
}
//覆盖原上传文件
imagedestroy(nimage);
imagedestroy(simage);
}
if(imgpreview==1)
{
echo "
图片预览:
";
echo "\"图片预览:\r文件名:".destination."\r上传时间:\"";
}
}
?>



设计家园 http://www.dww.cn 收集整理





添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.