> 백엔드 개발 > PHP 튜토리얼 > PHP 이미지 워터마크 코드, PHP 업로드 이미지 워터마크 예제 코드

PHP 이미지 워터마크 코드, PHP 업로드 이미지 워터마크 예제 코드

WBOY
풀어 주다: 2016-07-25 08:51:47
원래의
897명이 탐색했습니다.
  1. //파일 형식 목록 업로드
  2. $uptypes=array(
  3. 'image/jpg',
  4. 'image /jpeg',
  5. '이미지/png',
  6. '이미지/pjpeg',
  7. '이미지/gif',
  8. '이미지/bmp',
  9. '이미지/x-png'
  10. );
  11. $max_file_size=2000000; //업로드 파일 크기 제한, 단위 BYTE
  12. $destination_folder="uploadimg/"; //업로드 파일 경로
  13. $watermark=1; 워터마크 추가(1은 워터마크, 나머지는 워터마크 없음);
  14. $watertype=1; //워터마크 유형(1은 텍스트, 2는 그림)
  15. $waterposition=1; //워터마크 위치 왼쪽 모서리, 2는 오른쪽 하단 모서리
  16. , 3은 왼쪽 상단 모서리, 4는 오른쪽 상단 모서리, 5는 중앙)
  17. $waterstring="http://bbs.it-home. org/"; //워터마크 문자열
  18. $waterimg="xplore.gif"; //워터마크 이미지
  19. $imgpreview=1; //미리보기 이미지 생성 여부(1은 생성됨, 나머지는 생성되지 않음) ;
  20. $imgpreviewsize=1 /2; //썸네일 비율
  21. 🎜> >
  22. method="post" name="upform">
  23. 파일 업로드:
  24. <입력 이름=" upfile" type=" file">

  25. 업로드가 허용되는 파일 형식은 다음과 같습니다:
  26. if ($_SERVER['REQUEST_METHOD'] == 'POST')
  27. {
  28. (!is_uploaded_file($_FILES[ "upfile"]
  29. [tmp_name]))
  30. //파일이 존재합니까?
  31. {
  32. echo "사진이 존재하지 않습니다!"; ;
  33. }
  34. $file = $_FILES["upfile"];
  35. if($max_file_size <$file["size"])
  36. //파일 크기 확인
  37. {
  38. echo "파일이 너무 큽니다!";
  39. exit
  40. }
  41. if(!in_array($file["type"], $uptypes))
  42. //파일 형식 확인
  43. {
  44. echo "파일 형식이 일치하지 않습니다!". $file["type"];
  45. exit
  46. }
  47. if(!file_exists($destination_folder))
  48. {
  49. mkdir($destination_folder);
  50. }
  51. $ filename=$file["tmp_name"]
  52. $image_size = getimagesize($filename);
  53. $pinfo=pathinfo($file[" name"]);
  54. $ftype=$pinfo['extension '];
  55. $destination = $destination_folder.
  56. time().".".$ftype;
  57. if (file_exists($ Destination) &&
  58. $overwrite != true)
  59. {
  60. echo "같은 이름의 파일이 이미 존재합니다."
  61. exit
  62. }
  63. if(!move_uploaded_file ($filename) ,
  64. $destination))
  65. {
  66. echo "파일 이동 오류";
  67. exit
  68. }
  69. $pinfo=pathinfo($destination)
  70. $fname= $pinfo[basename];
  71. echo " 업로드 성공

  72. 파일 이름:
  73. ".$destination_folder.
  74. $fname."
    ";
  75. echo " 너비: ".$image_size[0]
  76. echo " 길이: ".$image_size[1]; >echo "
    크기: ".$file["size"]. " 바이트";
  77. if($watermark==1)
  78. {
  79. $iinfo=getimagesize($destination,$ iinfo);
  80. $nimage=imagecreatetruecolor($image_size[0]
  81. ,$image_size[1])
  82. $white=imagecolorallocate($nimage,255,255,255)
  83. $black=imagecolorallocate($ nimage,0,0,0);
  84. $red=imagecolorallocate($nimage ,255,0,0)
  85. imagefill($nimage,0,0,$white)
  86. 스위치($iinfo [2])
  87. {
  88. 사례 1:
  89. $simage =imagecreatefromgif($destination);
  90. break
  91. 사례 2:
  92. $simage =imagecreatefromjpeg($destination); 🎜>break;
  93. 사례 3:
  94. $simage =imagecreatefrompng($ Destination);
  95. break;
  96. 사례 6:
  97. $simage =imagecreatefromwbmp($destination)
  98. 기본값:
  99. die("지원되지 않는 파일 형식");
  100. exit
  101. }
  102. imagecopy($nimage,$simage,0,0,0,0,
  103. $image_size [0],$image_size[1]);
  104. imagefilled직사각형($ nimage,1,
  105. $image_size[1]-15,80,$image_size[1],$white)
  106. switch($ watertype)
  107. {
  108. 사례 1: //워터마크 문자 추가 String
  109. imagestring($nimage,2,3,$image_size[1]-15,
  110. $waterstring,$black); >break;
  111. 사례 2: //워터마크 이미지
  112. $simage1 =imagecreatefromgif("xplore.gif")
  113. imagecopy($nimage,$simage1,0,0,0,0,85,15 );
  114. imagedestroy($simage1);
  115. break
  116. }
  117. 스위치($iinfo[2])
  118. {
  119. 사례 1:
  120. //imagegif , $destination);
  121. imagejpeg($nimage, $destination) ;
  122. break;
  123. case 2:
  124. imagejpeg($nimage, $destination)
  125. break; :
  126. imagepng($nimage, $destination);
  127. break;
  128. 사례 6:
  129. imagewbmp($nimage, $destination)
  130. //imagejpeg($nimage, $destination);
  131. 휴식
  132. }
  133. //원본 업로드 파일 덮어쓰기
  134. imagedestroy($nimage);
  135. imagedestroy($simage)
  136. }
  137. if($imgpreview==1)
  138. {
  139. echo "
    이미지 미리보기:
    "
  140. echo "높이 = ".($image_size[1]*$imgpreviewsize);"
  141. echo " alt="이미지 미리보기:r파일 이름:".
  142. $destination."r업로드 시간:" />"; }
  143. }
  144. ?>
코드 복사
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿