웹마스터 팁

이미지 업로드시 섬네일 이미지 자동으로 만들어 주기 입니다.

여기 저기서 찾아서 짜집기(?) 를 해봤는데... 좀 허접합니다. 한번 테스스 해보시고 부족한점 지적해 주세요...

//  사진입력받는 in.php 파일
<table cellpadding=5 cellspacing=0 border=0 align=center class=box>
<FORM NAME="aaa" ACTION="test1.php" method="post" encType="multipart/form-data">
        <tr>
                <td align=center>
                        <input type="file" size="35" name="photo" onkeydown="alert('찾아보기를 이용해 주세요');return false;" class=box onChange="photo_b();"><br>
                        <img src="images/non.gif" name='bi' border=0>
                </td>
        </tr>
        <tr>
                <td align=center><input type=button onclick=ck() value='확 인' class=box onfocus=blur()></td>
        </tr>
</form>        
</table>
<script>
function photo_b() {
        var b_photo=document.aaa.photo.value;
        document.bi.src=b_photo; }
function ck() {
        if (!document.aaa.photo.value) {
                alert ("사진을 선택하여 주세요");
                document.aaa.photo.focus();
                return false; }
        else document.aaa.submit();
}
</script>



// 입력받아서 저장하는 test1.php 파일
<?
$dir="photo";     // 원본이미지 저장될 폴더 이름
$dir1="photos";   // 섬네일 이미지 저장될 폴더 이름
// test1.php파일이 위치한 폴더 하위에 상기 2개의 폴더가 존재해야 하며
// 퍼미션이 777로 설정 되어있어야 한다.


$exp=strrchr($photo_name, '.');  // 확장자 추출
$name=time();     // 시간으로 파일이름을 주도록 한다.

$s_size=100;      //섬네일 이미지 큰변의 크기

$file=$dir."/".$name.$exp;
$file1=$dir1."/".$name.$exp;


$img_pnm = $dir1."/".$name.".pnm";

@copy($photo,"$file");
@copy($photo,"$file1");


// 입력된 이미지의 큰변을 찾아 큰변을 지정된 크기 ($s_size=100) 로 변환한다.
$orgSize = getimagesize("$photo");

if ($orgSize[0] > $orgSize[1]) {
        $smallX = $s_size;
        $smallY = intval(($orgSize[1] * $s_size) / $orgSize[0]); }
else {
        $smallY = $s_size;
        $smallX = intval(($orgSize[0] * $s_size) / $orgSize[1]); }        



// jpg 형식의 파일일경우 pnm 형식 파일로 변환
if($exp == '.jpg') {
exec("djpeg -pnm $file1 > $img_pnm");  }

// gif 형식의 파일일경우 pnm 형식 파일로 변환
else if($exp == '.gif') {
exec("giftopnm $file1 > $img_pnm"); }

@unlink("$file1");
        
// pnm 형식으로 변환된 파일을 지정된크기의 섬네일 이미지(jpg형식)로 변환
exec("pnmscale -xsize {$smallX} $img_pnm | cjpeg -quality 100 -outfile photos/$name.jpg");
exec("pnmscale -ysize {$smallY} $img_pnm | cjpeg -quality 100 -outfile photos/$name.jpg");

@unlink("$img_pnm");
@unlink($photo);

?>

제목 글쓴이 날짜
트랙백 구현하기 - 1. 트랙백이란 무엇인가? [4] file TheMics 2004.04.18
[국에 밥말아먹는 PHP 프로그래밍] 1-1. PHP는 뭐하는 밥이냐?! (상) (Build 2) [17] 9000㎒ 2004.04.18
배열의 정렬에 대한 약간의 강의 [2] ♡다솜지기♡ 2004.04.02
드디어 PHP 5 RC1 발표(04.03.18) [8] 써니루루☆ 2004.03.19
PHP와 MYSQL연동 관련함수 [3] 백무혼 2004.03.07
함수] Exec 함수에 대한 간략한 설명 [3] NS 2004.03.05
초간단 인라이브 방송여부 알아보기 프로그램. [12] 심심타 2004.03.01
[허접팁]윈엠프 리스트창에 방송정보 보여주기;;[수정] [5] file 『처니리♂』 2004.02.29
폴더에 사진올려놓고 리스트자동으로 만들기 [7] 김인기 2004.02.22
여러 DB에서 최근 게시물 추출하기 위한 소스 입니다. [6] NS 2004.02.21
HTML,이미지,동영상 파일 열리지 않고 다운로드되도록 만들기(수정) [21] TheMics 2004.02.19
한꼬마의 제로보드 활용법 (게시물 추출하기) [4] 한꼬마 2004.02.17
[허접팀]랜덤 이미지 불러오기( +_+)/" [9] 『처니리♂』 2004.02.12
간단한 랜덤 게시물 구하는 간단한 소스입니다. [5] NS 2004.02.12
cd키랑 비슷한거 만들기 -_-;; [12] 추천대화상대 2004.02.11
많은 txt파일 db에 한번에 저장시키기 -_-;;(별 내용없으나 필요하신분은 보세요) [1] 추천대화상대 2004.02.11
이미지 업로드시 자동으로 섬네일 이미지 만들어 주기 [2] 장정식 2004.02.02
제로 카운터 ip 체크형에서 쿠키 체크 형으로 바꾸기 [8] 정재원 2004.01.27
[초허접기초] 하드디스크 용량을 구해보자..!! [13] SeePaGae 2004.01.24
[초허접기초!!] PHP 가 무엇인고..?? 1탄.. [6] SeePaGae 2004.01.24