溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP中怎么給圖片加水印

發(fā)布時間:2021-06-29 17:41:25 來源:億速云 閱讀:108 作者:Leah 欄目:編程語言

本篇文章為大家展示了PHP中怎么給圖片加水印,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

PHP給圖片加水印的具體代碼如下:

<?php   /******************************************************************************    參數(shù)說明:   $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="http://www.xplore.cn/";  //水印字符串   $waterimg="xplore.gif";    //水印圖片   $imgpreview=1;      //是否生成預覽圖(1為生成,其他為不生成);   $imgpreviewsize=1/2;    //縮略圖比例   ?>   <html>   <head>   <title>ZwelL圖片上傳程序</title>   <style type="text/css">   <!--   body   {        font-size: 9pt;   }   input   {        background-color: #66CCFF;        border: 1px inset #CCCCCC;   }   -->   </style>   </head>    <body>   <form enctype="multipart/form-data" method="post" name="upform">     上傳文件:     <input name="upfile" type="file">     <input type="submit" value="上傳"><br>     允許上傳的文件類型為:<?=implode(', ',$uptypes)?>   </form>    <?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 "同名文件已經(jīng)存在了";           exit;       }        if(!move_uploaded_file ($filename, $destination))       {           echo "移動文件出錯";           exit;       }        $pinfo=pathinfo($destination);       $fname=$pinfo[basename];       echo " <font color=red>已經(jīng)成功上傳</font><br>文件名:  <font color=blue>".$destination_folder.$fname."</font><br>";       echo " 寬度:".$image_size[0];       echo " 長度:".$image_size[1];       echo "<br> 大小:".$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 "<br>圖片預覽:<br>";       echo "<img src=\"".$destination."\" width=".($image_size[0]*$imgpreviewsize)." height=".($image_size[1]*$imgpreviewsize);       echo " alt=\"圖片預覽:\r文件名:".$destination."\r上傳時間:\">";       }   }   ?>   </body>   </html>

上述內(nèi)容就是PHP中怎么給圖片加水印,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

php
AI