2018년 5월 22일 화요일

[PHP예제] 141 이미지의 섬네일을 생성하기




 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
// 원본 파일의 파일명을 설정함.
$fileName = __DIR__ . '/images.jpg';
if( !file_exists($fileName) )
{
  die('파일이 존재하지 않음');
}

// 이미지의 크기를 가져옴
$imageSize = getimagesize($fileName);
$w = $imageSize[0];
$h = $imageSize[1];

// 섬네일의 폭을 100픽셀로 정하고 자동으로 높이를 산출
$newW = 100;
$newH = intval($newW / $w * $h);

// Content-Type 헤더를 전송함
header('Content-type: image/png');
// IE가 Content-Type 헤더를 무시하지 않게 함
header('X-Content-Type-Optoins: nosniff');

// 리샘플링을 진행함
$imgThumb = imagecreatetruecolor($newW, $newH);
$image = imagecreatefromjpeg($fileName);

// 성공한 경우 imagecopyresampled() 함수는 true를 되돌림
if( imagecopyresampled($imgThumb, $image, 0, 0, 0, 0, $newW, $newH, $w, $h) )
{
  imagepng($imgThumb);
}

// 이미지를 삭제하고 메모리 점유를 해제함
imagedestory($image);
imagedestory($imgThumb);




  • 이미지의 크기를 구하기
    • getimagesize()
      • getimagesize($fileName);
    • 이미지의 크기와 종류, 그리고 <img> 태그로 이용할 수 있는 크기 속성 문자열


댓글 없음:

댓글 쓰기