ホームページ >バックエンド開発 >PHPチュートリアル >PHP 画像透かしコード、PHP アップロード画像透かしサンプル コード

PHP 画像透かしコード、PHP アップロード画像透かしサンプル コード

WBOY
WBOYオリジナル
2016-07-25 08:51:47900ブラウズ
  1. //アップロードファイルタイプリスト
  2. $uptypes=array(
  3. 'image/jpg',
  4. 'image/jpeg',
  5. 'image/png',
  6. 'image/pjpeg',
  7. 'image/gif',
  8. 'image/bmp',
  9. 'image/x-png'
  10. );
  11. $max_file_size=2000000; //アップロードファイルのサイズ制限、単位 BYTE
  12. $destination_folder="uploadimg/"; /アップロードファイルパス
  13. $watermark=1; //ウォーターマークを付けるかどうか(1はウォーターマークを追加することを意味し、それ以外はウォーターマークを追加しないことを意味します)
  14. $watertype=1; //ウォーターマークの種類(1はテキストを意味し、2は画像を意味します) $waterposition =1; //ウォーターマークの位置 (1 は左下隅、2 は右下隅、3 は左上隅、4 は右上隅、5 は中央); "http://bbs.it-home.org /"; //ウォーターマーク文字列
  15. $waterimg="xplore.gif" //ウォーターマーク画像
  16. $imgpreview=1; //プレビュー画像を生成するかどうか
  17. $imgpreviewsize=1 /2?>
  18. アップロードファイル:

  19. アップロードできるファイルの種類は次のとおりです。 ?=implode(', ',$uptypes)? >
  20. if ($_SERVER['REQUEST_METHOD'] == 'POST')
  21. if (!is_uploaded_file _FILES["upfile"]
  22. [tmp_name]))
  23. //ファイルが存在するかどうか
  24. {
  25. echo "画像が存在しません!"
  26. }
  27. $file = $_FILES["upfile"]; if($max_file_size <$file["size"])
  28. // ファイル サイズを確認します
  29. {
  30. echo "ファイルが大きすぎます!"
  31. 終了
  32. }
  33. if(!in_array($file["type"], $uptypes))
  34. //ファイルの種類を確認します
  35. {
  36. echo " ファイルの種類が一致しません!".$file["type"]
  37. exit;
  38. if(!file_exists($destination_folder))
  39. {
  40. mkdir ($destination_folder);
  41. $filename=$file["tmp_name" ];
  42. $pinfo=pathinfo($file["name"]); ['拡張子'];
  43. $destination = $destination_folder.
  44. time() .".".$ftype;
  45. if (file_exists($destination) &&
  46. $overwrite != true)
  47. {
  48. echo "同じ名前がすでに存在します";
  49. exit;
  50. }
  51. if(!move_uploaded_file ($filename,
  52. $destination))
  53. {
  54. echo "ファイルの移動エラー";
  55. exit;
  56. }
  57. $pinfo=pathinfo($destination);
  58. $fname=$pinfo[basename];
  59. echo "

  60. ファイル名:
  61. ".$destination_folder がアップロードされました。 fname."
    ";
  62. echo " 幅: ".$image_size[0];
  63. echo " 長さ: ".$image_size[1]; サイズ: " .$file["サイズ"]." バイト";
  64. if($watermark= =1)
  65. {
  66. $iinfo=getimagesize($destination,$iinfo);
  67. $nimage=imagecreatetruecolor($image_size[0]); $image_size[1]);
  68. $white=imagecolorallocate($nimage,255,255,255);
  69. $black=imagecolorallocate($nimage,255,0,0); ;
  70. imagefill($nimage,0,0,$white);
  71. switch ($ iinfo[2])
  72. ケース 1:
  73. $simage =imagecreatefromgif($destination)
  74. break; =imagecreatefromjpeg($destination);
  75. ケース 3:
  76. $simage =imagecreatefrompng ($destination);
  77. デフォルト:
  78. die( "サポートされていないファイルの種類");
  79. 終了;
  80. imagecopy($nimage,$simage,0,0,0,0,
  81. $image_size[0],$image_size[1]); ,
  82. $image_size[1]-15,80,$image_size[1] ,$white);
  83. switch($watertype)
  84. {
  85. case 1: //ウォーターマーク文字列を追加
  86. imagestring($nimage,2,3,$ image_size[1]-15,
  87. $waterstring,$black);
  88. break;
  89. case 2: //ウォーターマーク画像を追加
  90. $simage1 =imagecreatefromgif("xplore.gif")
  91. imagecopy($nimage,$simage1,0) ,0,0,0,85,15);
  92. imagedestroy($simage1);
  93. switch ($iinfo[2])
  94. {
  95. case 1:
  96. //imagegif($nimage, $destination) ;
  97. imagejpeg($nimage, $destination);
  98. ケース 2:
  99. imagejpeg($nimage, $destination); 6:
  100. imagewbmp($nimage, $destination);
  101. //imagejpeg ($nimage, $destination);
  102. //アップロードされた元のファイルを上書きします
  103. imagedestroy($nimage);
  104. if($imgpreview==1)
  105. {
  106. echo "
    画像プレビュー:
    " ;
  107. echo "height=".($image_size[1]*$imgpreviewsize);"
  108. echo " alt= " 画像プレビュー:rファイル名:".
  109. $destination."rアップロード時間:" />";
  110. }
  111. }
  112. ?>
コードをコピーします
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。