웹마스터 팁

내용은 글 제목과 같습니다.
큰 이미지를 업로드 시키면 자동으로 썸네일 이미지를 하나더 만들고 이미지 사이즈가 너무 크다면 줄여 줍니다.
구현 방법은 리눅스에 있는 프로그램을 이용하여 jpeg, gif 를 pnm 이미지로 만든 다음 pnm 이미지를 다시 적당한 크기의 jpg 파일로 만듭니다.
----------------------------------------------------------------------------------------------------------------------
        $bigX = 640;
    $bigY = 480;
    $smallX = 100;
    $smallY = 75;
    if(is_uploaded_file($_FILES[c_pics][tmp_name])){
      $upload_img_no = 'n';
      $type = explode("/", $_FILES[c_pics][type]);
      if($type[0] == "image"){// 업로드된 파일의 형식을 체크 합니다.
        $ext = ($type[1] == "pjpeg")? "jpg": $type[1];
        $ser = mkSer(6); // 저의 경우는 동시에 여러장의 그림을 업하는 관계로 6자리의 임의 알파벳을 읽어오는 함수를 사용 => 파일이름
        $filename = $now.$ser;
        $img_name =  $filename.".".$ext;
        $img_pnm = $filename.".pnm";
        $img_pnm1 = $filename."1.pnm";
        ##일단 임시 디렉토리로 이동시켜서
        if(move_uploaded_file($_FILES[c_pics][tmp_name], "{$img_tmp_dir}/{$img_name}")){
          exec("chmod 655 {$img_up_dir}/{$img_name}");
          $orgSize = getimagesize("{$img_tmp_dir}/{$img_name}");
          if($orgSize[0] > $bigX && $orgSize[1] > $bigY){
            ### pnm 이미지로 변환
            if($ext == 'jpg')    exec("djpeg -pnm {$img_tmp_dir}/{$img_name} > {$tmp}/{$img_pnm}");
            elseif($ext == 'gif')    exec("giftopnm {$img_tmp_dir}/{$img_name} > {$tmp}/{$img_pnm}");

            exec("pnmscale -xsize {$bigX} {$tmp}/{$img_pnm} | cjpeg -quality 85 -outfile {$img_up_dir}/{$filename}.jpg");
            exec("pnmscale -ysize {$bigY} {$tmp}/{$img_pnm} | cjpeg -quality 85 -outfile {$img_up_dir}/{$filename}.jpg");
            if($i == 0){
              ### 썸네일 이미지를 만듭니다.
              exec("djpeg -pnm $img_up_dir/{$filename}.jpg > {$tmp}/{$img_pnm1}");
              exec("pnmscale -xsize {$smallX} {$tmp}/{$img_pnm1} | cjpeg -quality 100 -outfile {$thumb_dir}/{$filename}.jpg");
              exec("pnmscale -ysize {$smallY} {$tmp}/{$img_pnm1} | cjpeg -quality 100 -outfile {$thumb_dir}/{$filename}.jpg");
            }
            $img_name = $filename.".jpg";
          }
          else{
            exec("cp $img_tmp_dir/$img_name $img_up_dir/$img_name");
            //$img_name = $filename.".jpg";
          }

          @unlink("$img_tmp_dir/$img_name");
          @unlink("$tmp/$img_pnm1");
          @unlink("$tmp/$img_pnm");
          echo("<div>OK! : $_FILES[c_pics][name]</div>");
        }
        else{
          echo("<div>Failure! : $_FILES[c_pics][name]</div>");
        }
      }
      else  echo("<div>Warning : $_FILES[c_pics][name] is Not a Image File</div>");
    }
제목 글쓴이 날짜
Javascript + 플래시 칼라피커 [6] 행복한고니 2004.10.08
체크박스를 이미지로 사용하기 [7] 행복한고니 2004.10.10
배열 스크립트 종합선물세트 행복한고니 2004.10.12
멀티 파일다운로드 꼼수 (새창버전) [1] 행복한고니 2004.10.14
XP2인지 체크하여 XP2일때는 팝업허용하라는 메시지 뛰워주기 [3] 아돌 2004.10.19
모든 이미지, 텍스트 링크에 점선 없애기 [5] 이강민 2004.10.25
JavaScript 구문강조 효과내기 파우링 2004.10.28
행복한고니님의 체크박스를 이미지로 사용하기를 보고... 체크박스옆에 텍스트 부치기 [2] beMax 2004.10.29
ActiveX 멀티파일업로더 입니다. [9] by風 2004.11.01
홈페이지 나갈때 새창띄우기 [2] piasol 2004.11.07
(수정)배경음악,연월일,시간, 코멘트 셋트.(AM,PM==>오전,오후 순,한국식으로 ...) [4] 민피디 2004.11.10
ActiveX 플래시 이미지캡쳐 컨트롤 iFlower [1] 덴디 2004.11.15
iFlower 윈도우리스 플래시 ActiveX 컨트롤 덴디 2004.11.16
자바스크립트 암호화 [5] 손상모 2004.11.18
로딩중인 페이지에 효과넣기 [4] LUFFY 2004.11.20
이미지 를 브라우져에서 내맘데로 옮겨두기 [8] piasol 2004.12.03
이제 미디어플레이어는 가라? 곰플레이어로 실시간으로 감상하자. [13] ⓣing★™ 2004.12.05
홈페이지를 풀스크린으로 띄우자 - 올플래시로 보이는군요. [21] Multi_Taeji 2004.12.10
마우스를 대면 이미지가 바뀐다. 롤오버 이미지 [3] 하진 2004.12.19
개판 오분전 빙고 [2] 미친개 2004.12.30