-
-
/* - * 매개변수 설명
- * $max_file_size: 업로드 파일 크기 제한, 단위 BYTE
- * $destination_folder: 업로드 파일 경로
- * $watermark: 워터마크 첨부 여부(1은 워터마크 추가, 나머지는 워터마크 추가 안함);
- * http://bbs.it-home. org
- * 사용 지침:
- * 1. GD 라이브러리를 사용해야 하므로 PHP.INI 파일의 "extension=php_gd2.dll" 줄 앞에 있는 ; 기호를 제거하세요. * 2. 확장명 변경_dir = php_gd2.dll이 있는 디렉토리로 변경;
- */
- // 파일 형식 목록 업로드
- $uptypes = 배열(
- 'image/jpg',
- '이미지/png',
- '이미지/jpeg',
- '이미지/pjpeg',
- '이미지/gif',
- '이미지/bmp',
- '이미지/ x-png'
- ) ;
- $max_file_size = 20000000; //업로드 파일 크기 제한, 단위 BYTE
- $destination_folder = 'uploadimg/'; //업로드 파일 경로
- $watermark = 1; //워터마크 첨부 여부(1은 워터마크 추가, 나머지는 워터마크 추가 안함);
- $watertype = 1; //워터마크 유형(1은 텍스트, 2는 그림)
- $waterposition = 1; /워터마크 위치(1은 왼쪽 하단, 2는 그림)는 오른쪽 하단, 3은 왼쪽 상단, 4는 오른쪽 상단, 5는 중앙);
- $waterstring = "http ://bbs.it-home.org/"; //워터마크 문자열
- $waterimg = "xplore.gif"; //워터마크 이미지
- $imgpreview = 1; //미리보기 이미지 생성 여부( 1개는 생성되고 나머지는 생성되지 않음);
- $imgpreviewsize = 1 / 2; //썸네일 이미지 비율
- ?>
- < title>Zwell 이미지 업로더
-
- < body>
-
-
-
-
if ($ _SERVER['REQUEST_METHOD'] == 'POST') {
- //업로드된 파일이 있는지 확인 ;
if (is_uploaded_file($_FILES['upfile']['tmp_name' ])) {
- $upfile = $_FILES['upfile'];
- print_r($_FILES[' upfile']);
- $name = $upfilep['name']; //파일 이름
- $type = $upfile['type'] //파일 형식
- $size = $upfile[ 'size']; //파일 크기
- $tmp_name = $upfile['tmp_name']; //임시 파일
- $error = $upfile['error'] //오류 원인
if ($max_file_size < $size) { //파일 크기 확인 - echo '업로드된 파일이 너무 큽니다.';
- exit ();
- }< ;/p>
if (!in_arrar($type, $uptypes)) { //파일 유형 판단
- echo '업로드된 파일 유형이 일치하지 않습니다.' $type;
- 종료 ();
- }
if (!file_exists($destination_folder)) {
- mkdir($destination_folder);
- }
-
if (file_exists("upload/" . $_FILES["file"]["name"])) {
- echo $_FILES["file"]["name"] . " ;
- } else {
- move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
- echo "저장됨 in: " . "upload/" . $_FILES["file"]["name"];
- } p>
$pinfo = pathinfo($name);
- $ftype = $pinfo['extension'];
- $destination = $destination_folder . time() . "." . $ ftype;
- if (file_exists($destination) && $overwrite != true) 🎜> echo "같은 이름의 파일이 이미 존재합니다.";
- exit ();
- }
if (!move_uploaded_file($tmp_name, $destination)) {
- echo "파일 이동 오류";
- 종료 ();
- }
$pinfo = pathinfo($destination);
- $fname = $pinfo[basename];
- echo " 업로드되었습니다< /font> ;
파일 이름: " . $destination_folder . $fname . " ";
- echo " 너비: " . $image_size[0 ];
- echo "length:" . $image_size[1];
- echo "
크기:" . $file["size"] . " 바이트";
- < p> 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);
- 스위치($iinfo[2]) {
- 사례 1 :
- $simage = imagecreatefromgif($destination);
- break;
- 사례 2:
- $simage = imagecreatefromjpeg($destination);
- break;
- 사례 3:
- $simage = imagecreatefrompng($destination);
- break; > 사례 6:
- $simage = imagecreatefromwbmp($destination);
- break;
- 기본값:
- die("지원되지 않는 파일 형식");
- 종료;
- } p>
imagecopy($nimage, $simage, 0, 0, 0, 0, $image_size[0], $image_size[1]);
- imagefilled직사각형($nimage, 1, $image_size [1] - 15, 80, $image_size[1], $white);
스위치($watertype) {
- 사례 1: //워터마크 문자열 추가 ;
imagestring($nimage, 2, 3, $image_size[1] - 15, $waterstring, $black);
- break;
- 사례 2: / /워터마크 이미지
$simage1 = imagecreatefromgif("xplore.gif");
- imagecopy($nimage, $simage1, 0, 0, 0, 0, 85, 15 );
- imagedestroy($ simage1);
- break;
- }
스위치($iinfo[2]) {
- 사례 1 :
- //imagegif($nimage, $ Destination);
imagejpeg($nimage, $destination);
- break;
- 사례 2 :
- imagejpeg($nimage , $destination);
- break;
- 사례 3 :
- imagepng($nimage, $destination);
- break;
- 사례 6 :
- imagewbmp($nimage, $destination) ;
- //imagejpeg( $nimage, $destination);
- break;
- }
//원본 업로드 파일 덮어쓰기
- imagedestroy($nimage) ;
- imagedestroy($ simage);
- }
if ($imgpreview == 1) {
- echo "
이미지 미리보기: echo "";
- }
- }
- }
- ?>
|