PHP classic watermarking program for pictures_PHP tutorial

WBOY
Release: 2016-07-21 15:59:43
Original
835 people have browsed it

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

Parameter description:
$max_file_size: Upload file size limit, unit BYTE
$destination_folder: Upload file path
$watermark: Whether to attach a watermark (1 is watermarked, others are not watermarked);

Instructions for use:
1. Remove the ; sign in front of the "extension=php_gd2.dll" line in the PHP.INI file, because we To use the GD library;
2. Change extension_dir = to the directory where your php_gd2.dll is located;
**************************** ****************************************/

//Upload file type list
$uptypes=array(
'image/jpg',
'image/ jpeg',
'image/png',
'image/pjpeg',
'image/gif',
'image/bmp',
'image/x-png'
);

$max_file_size=2000000; //Upload file size limit, unit BYTE
$destination_folder="uploadimg/"; //Upload file path
$watermark=1; // Whether to add a watermark (1 means watermark, others do not add watermark);
$watertype=1; //Watermark type (1 is text, 2 is picture)
$waterposition=1; //Watermark position ( 1 is the lower left corner, 2 is the lower right corner, 3 is the upper left corner, 4 is the upper right corner, 5 is in the center);
$waterstring="http://www.mop8.com/"; //Watermark string
$waterimg="xplore.gif"; //Watermark image
$imgpreview=1; //Whether to generate a preview image (1 is generated, others are not generated);
$imgpreviewsize=1/1; //Thumbnail ratio
?>


Image watermarking program demonstration! WWW.MOP8.COM





Upload file:
< ;input name="upfile" type="file">


The file types allowed to be uploaded are:


This demonstration space is provided by TuWoo, and this program uses text watermarks.< ;/FONT>

if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
if (!is_uploaded_file($_FILES[" upfile"][tmp_name]))
//Does the file exist?
{
echo "The picture does not exist!";
exit;
} _FILES["upfile"];
if($max_file_size < $file["size"])
//Check the file size
{
echo "The file is too large!";
exit;
}

if(!in_array($file["type"], $uptypes))
//Check the file type
{
echo "The file type does not match! ".$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 "The file with the same name already exists";
exit;


if(!move_uploaded_file ($filename, $destination))
{ echo "Error moving file";
exit;
}

$pinfo=pathinfo($destination);
$fname=$pinfo[basename];
echo " Uploaded successfully
File name: < ;font color=blue>".$destination_folder.$fname."

";
echo " width:".$image_size[0];
echo " length:". $image_size[1];
echo "
size:".$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); > case 6:
$simage =imagecreatefromwbmp($ destination);
break;
default:
die("Unsupported file type");
exit;
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 "   echo " alt="图片预览:r文件名:".$destination."r上传时间:">";  
   }  
}  
?>  
  

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/317296.htmlTechArticle?php /************************************************************** 参数说明: $max_file_size:上传文件大小限制,单位BYTE $destination_folder:上传文件路径 $waterma...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!