PHP实例教程:完成网站上载图画自动加水印-Php-优质IT资源分享社区

admin
管理员
管理员
  • UID1
  • 粉丝26
  • 关注4
  • 发帖数581
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:177回复:0

  PHP实例教程:完成网站上载图画自动加水印

楼主#
更多 发布于:2016-06-02 20:46

用PHP给上载图画加水印的程序是经过判别文件类型树立图形,然后把其复制到原树立的图形上,填充并树立rectangle,以备写入imagestring()或是原现已定好的图画程序傍边判别水印类型:一是字符串,另是添加一个图形目标在上面。假如你对PHP的GD库对比了解,看懂这篇文章一

用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地点目录;

3. http://www.knowsky.com/php.asp;

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

//上载文件类型列表

$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="http://www.xplore.cn/"; //水印字符串

$waterimg="xplore.gif"; //水印图画

$imgpreview=1; //是不是生成预览图(1为生成,别的为不生成);

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

?>

    " cdata_tag="style" type="text/css">

上载文件:

允许上载的文件类型为:

<?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.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 "<ccid_file values="\"

width=".($image_size[0]*$imgpreviewsize)."

height=".($image_size[1]*$imgpreviewsize);"

echo " alt=\"图画预览:\r文件名:".$destination."\r上载时刻:\"

/>";

}

}

?>

优质IT资源分享社区为你提供此文。

本站有大量优质php教程视频,资料等资源,包含php基础教程,高级进阶教程等等,教程视频资源涵盖传智播客,极客学院,达内,北大青鸟,猎豹网校等等IT职业培训机构的培训教学视频,价值巨大。欢迎点击下方链接查看

php教程视频

优质IT资源分享社区(www.itziyuan.top)
一个免费,自由,开放,共享,平等,互助的优质IT资源分享网站。
专注免费分享各大IT培训机构最新培训教学视频,为你的IT学习助力!

!!!回帖受限制请看点击这里!!!
!!!资源失效请在此版块发帖说明!!!

[PS:按 CTRL+D收藏本站网址~]

——“优质IT资源分享社区”管理员专用签名~

本版相似帖子

游客