成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為你講解PHP給圖片加水印的具體方法

開發 后端
如何批量的,簡便的將我們上傳的圖片附加上水印呢?今天我們就告訴大家一種方便的辦法,就是使用PHP給圖片加水印。

我們在做網站的時候,都會遇到需要將網站上傳的圖片附加上水印,如果一個一個的手工加水印肯定非常麻煩,也是不實際的操作。那么,我們今天就向大家接受PHP給圖片加水印的具體方法,簡化操作步驟。

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

  1. <?php   
  2. /******************************************************************************   
  3.  
  4. 參數說明:   
  5. $max_file_size  : 上傳文件大小限制, 單位BYTE   
  6. $destination_folder : 上傳文件路徑   
  7. $watermark   : 是否附加水印(1為加水印,其他為不加水印);   
  8.  
  9. 使用說明:   
  10. 1. 將PHP.INI文件里面的"extension=php_gd2.dll"一行前面的;號去掉,因為我們要用到GD庫;   
  11. 2. 將extension_dir =改為你的php_gd2.dll所在目錄;   
  12. ******************************************************************************/   
  13.  
  14. //上傳文件類型列表   
  15. $uptypes=array(   
  16.     'image/jpg',   
  17.     'image/jpeg',   
  18.     'image/png',   
  19.     'image/pjpeg',   
  20.     'image/gif',   
  21.     'image/bmp',   
  22.     'image/x-png'   
  23. );   
  24.  
  25. $max_file_size=2000000;     //上傳文件大小限制, 單位BYTE   
  26. $destination_folder="uploadimg/"; //上傳文件路徑   
  27. $watermark=1;      //是否附加水印(1為加水印,其他為不加水印);   
  28. $watertype=1;      //水印類型(1為文字,2為圖片)   
  29. $waterposition=1;     //水印位置(1為左下角,2為右下角,3為左上角,4為右上角,5為居中);   
  30. $waterstring="http://www.xplore.cn/";  //水印字符串   
  31. $waterimg="xplore.gif";    //水印圖片   
  32. $imgpreview=1;      //是否生成預覽圖(1為生成,其他為不生成);   
  33. $imgpreviewsize=1/2;    //縮略圖比例   
  34. ?>   
  35. <html>   
  36. <head>   
  37. <title>ZwelL圖片上傳程序</title>   
  38. <style type="text/css">   
  39. <!--   
  40. body   
  41. {   
  42.      font-size: 9pt;   
  43. }   
  44. input   
  45. {   
  46.      background-color: #66CCFF;   
  47.      border: 1px inset #CCCCCC;   
  48. }   
  49. -->   
  50. </style>   
  51. </head>   
  52.  
  53. <body>   
  54. <form enctype="multipart/form-data" method="post" name="upform">   
  55.   上傳文件:   
  56.   <input name="upfile" type="file">   
  57.   <input type="submit" value="上傳"><br>   
  58.   允許上傳的文件類型為:<?=implode(', ',$uptypes)?>   
  59. </form>   
  60.  
  61. <?php   
  62. if ($_SERVER['REQUEST_METHOD'] == 'POST')   
  63. {   
  64.     if (!is_uploaded_file($_FILES["upfile"][tmp_name]))   
  65.     //是否存在文件   
  66.     {   
  67.          echo "圖片不存在!";   
  68.          exit;   
  69.     }   
  70.  
  71.     $file = $_FILES["upfile"];   
  72.     if($max_file_size < $file["size"])   
  73.     //檢查文件大小   
  74.     {   
  75.         echo "文件太大!";   
  76.         exit;   
  77.     }   
  78.  
  79.     if(!in_array($file["type"], $uptypes))   
  80.     //檢查文件類型   
  81.     {   
  82.         echo "文件類型不符!".$file["type"];   
  83.         exit;   
  84.     }   
  85.  
  86.     if(!file_exists($destination_folder))   
  87.     {   
  88.         mkdir($destination_folder);   
  89.     }   
  90.  
  91.     $filename=$file["tmp_name"];   
  92.     $image_size = getimagesize($filename);   
  93.     $pinfo=pathinfo($file["name"]);   
  94.     $ftype=$pinfo['extension'];   
  95.     $destination = $destination_folder.time().".".$ftype;   
  96.     if (file_exists($destination) && $overwrite != true)   
  97.     {   
  98.         echo "同名文件已經存在了";   
  99.         exit;   
  100.     }   
  101.  
  102.     if(!move_uploaded_file ($filename, $destination))   
  103.     {   
  104.         echo "移動文件出錯";   
  105.         exit;   
  106.     }   
  107.  
  108.     $pinfo=pathinfo($destination);   
  109.     $fname=$pinfo[basename];   
  110.     echo " <font color=red>已經成功上傳</font><br>文件名:  <font color=blue>".$destination_folder.$fname."</font><br>";   
  111.     echo " 寬度:".$image_size[0];   
  112.     echo " 長度:".$image_size[1];   
  113.     echo "<br> 大小:".$file["size"]." bytes";   
  114.  
  115.     if($watermark==1)   
  116.     {   
  117.         $iinfo=getimagesize($destination,$iinfo);   
  118.         $nimage=imagecreatetruecolor($image_size[0],$image_size[1]);   
  119.         $white=imagecolorallocate($nimage,255,255,255);   
  120.         $black=imagecolorallocate($nimage,0,0,0);   
  121.         $red=imagecolorallocate($nimage,255,0,0);   
  122.         imagefill($nimage,0,0,$white);   
  123.         switch ($iinfo[2])   
  124.         {   
  125.             case 1:   
  126.             $simage =imagecreatefromgif($destination);   
  127.             break;   
  128.             case 2:   
  129.             $simage =imagecreatefromjpeg($destination);   
  130.             break;   
  131.             case 3:   
  132.             $simage =imagecreatefrompng($destination);   
  133.             break;   
  134.             case 6:   
  135.             $simage =imagecreatefromwbmp($destination);   
  136.             break;   
  137.             default:   
  138.             die("不支持的文件類型";   
  139.             exit;   
  140.         }   
  141.  
  142.         imagecopy($nimage,$simage,0,0,0,0,$image_size[0],$image_size[1]);   
  143.         imagefilledrectangle($nimage,1,$image_size[1]-15,80,$image_size[1],$white);   
  144.  
  145.         switch($watertype)   
  146.         {   
  147.             case 1:   //加水印字符串   
  148.             imagestring($nimage,2,3,$image_size[1]-15,$waterstring,$black);   
  149.             break;   
  150.             case 2:   //加水印圖片   
  151.             $simage1 =imagecreatefromgif("xplore.gif";   
  152.             imagecopy($nimage,$simage1,0,0,0,0,85,15);   
  153.             imagedestroy($simage1);   
  154.             break;   
  155.         }   
  156.  
  157.         switch ($iinfo[2])   
  158.         {   
  159.             case 1:   
  160.             //imagegif($nimage, $destination);   
  161.             imagejpeg($nimage, $destination);   
  162.             break;   
  163.             case 2:   
  164.             imagejpeg($nimage, $destination);   
  165.             break;   
  166.             case 3:   
  167.             imagepng($nimage, $destination);   
  168.             break;   
  169.             case 6:   
  170.             imagewbmp($nimage, $destination);   
  171.             //imagejpeg($nimage, $destination);   
  172.             break;   
  173.         }   
  174.  
  175.         //覆蓋原上傳文件   
  176.         imagedestroy($nimage);   
  177.         imagedestroy($simage);   
  178.     }   
  179.  
  180.     if($imgpreview==1)   
  181.     {   
  182.     echo "<br>圖片預覽:<br>";   
  183.     echo "<img src=\"".$destination."\" width=".($image_size[0]*$imgpreviewsize)." height=".($image_size[1]*$imgpreviewsize);   
  184.     echo " alt=\"圖片預覽:\r文件名:".$destination."\r上傳時間:\">";   
  185.     }   
  186. }   
  187. ?>   
  188. </body>   
  189. </html>  

以上就是我們為大家奉上的PHP給圖片加水印的具體代碼,希望對又需要的朋友有所幫助。

責任編輯:曹凱 來源: CSDN
相關推薦

2009-12-07 15:41:51

PHP圖片加水印

2024-08-01 08:37:46

vue圖片性能

2009-05-06 14:03:13

SQL Server日志log

2009-12-25 16:52:57

網絡接入控制

2009-12-03 18:23:23

2009-11-23 15:10:28

PHP獲取當前url

2009-11-30 11:24:49

PHP將EXCEL導入

2009-12-01 09:52:40

PHP過濾字符串

2009-11-25 17:14:45

PHP安裝為Apach

2009-12-03 17:57:35

PHP重定向代碼

2010-07-21 14:33:01

刪除telnet

2009-11-24 17:25:00

PHP二維數組排序

2009-12-08 16:48:41

無線路由器

2010-08-17 13:12:06

無線路由器加密

2010-08-23 14:05:11

2009-11-24 20:09:35

PHP函數header

2009-12-01 15:12:34

路由器配置VLAN

2011-04-01 13:34:12

zabbix

2009-11-24 18:18:21

PHP函數array_

2009-12-03 14:43:46

phpMyAdmin配
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区三区视频在线观看 | av免费网址 | 国产精品一区久久久 | 欧美 日韩 亚洲91麻豆精品 | 日韩字幕| 中文字幕一区二区三区不卡 | 欧美综合久久久 | 亚洲成人高清 | 亚洲乱码一区二区三区在线观看 | 日本特黄a级高清免费大片 国产精品久久性 | 美女视频一区二区 | 欧美一级免费 | 久久久久久久久久久蜜桃 | 成人免费视频网站 | 欧美 日韩 中文 | 天堂视频一区 | 国产9999精品 | 天天干天天插天天 | 日韩一区二区三区在线 | 中文字幕 亚洲一区 | 99pao成人国产永久免费视频 | 中文字幕乱码一区二区三区 | 99久久夜色精品国产亚洲96 | 亚洲网站在线观看 | 欧美极品在线观看 | 亚洲欧美国产精品一区二区 | 污书屋| 久久亚洲欧美日韩精品专区 | 国产精品久久久久久久岛一牛影视 | 国产精品久久精品 | 日日骚视频 | 欧美精品久久 | 一区在线观看 | 国产乱肥老妇国产一区二 | 国产农村妇女精品一二区 | 日韩欧美亚洲 | 一区二区三区在线电影 | 伊人网站在线观看 | 三级成人在线 | 欧美乱人伦视频 | 拍戏被cao翻了h承欢 |