700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > php实现给上传图片加水印的程序代码

php实现给上传图片加水印的程序代码

时间:2021-08-25 00:21:26

相关推荐

php实现给上传图片加水印的程序代码

php教程|php手册

PHP 水印

php教程-php手册

网页出现源码,Ubuntu打开多个文件,tomcat7 最新连接池,头条新闻爬虫,php 提交响应进度条,seo工作前途lzw

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

易语言dj音乐盒源码,vscode起不来,ubuntu安装配置指南,tomcat 调用c,sqlite查询数据游标,杰奇cms推送插件,跨屏前端框架大全,爬虫抓取微信号,php 扩展 下载,武汉seo 33230,齐博企业网站源码,怎么让网页标题滚动,怎么运营大商创的运营模板,横排菜单悬浮改变页面内容的模板,师资管理系统源文件,国外音乐网站程序lzw

/*****************************************************

参数说明:

$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.jpg”; //水印图片

$imgpreview=1;//是否生成预览图(1为生成,其他为不生成);

$imgpreviewsize=1/2; //缩略图比例

?>

ZwelL图片上传程序

erp办公系统源码,ubuntu 关闭键盘灯,pizza没放冰箱爬虫,php工程师多少钱一个月,seo方案思路lzw

<!–

body

{

font-size: 9pt;

}

input

{

background-color: #66CCFF;

border: 1px inset #CCCCCC;

}

–>

上传文件:

允许上传的文件类型为:

<?php

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.jpg”);

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 “<img src=\"".$destination."\" width=".($image_size[0]*$imgpreviewsize)." height=".($image_size[1]*$imgpreviewsize);

echo ” alt=\”图片预览:\r文件名:”.$destination.”\r上传时间:\”>”;

}

}

?>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。