컴퓨터잡담

[PHP] 원격지의 이미지 사이즈 구하는 방법

by 디케 posted Aug 11, 2009
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

[PHP] 원격지의 이미지 사이즈 구하는 방법

 

여러가지 이유가 있겠지만 본인의 경우는 원격지의 이미지 사이즈를 구하여 값이 없거나

10 미만이면 액박으로 간주하여 출력하지 않고 다른곳으로 전송하는 것이 목적이었다.

 

아래의 소스를 실행해보면

 

[0]656
[1]421
[2]6
[3]width="656" height="421"
[4]
[5]

 

이렇게 나온다.

 

6개의 배열로 $size에 담기게 되는데,

0의 배열에는 가로

1의 배열에는 세로

2의 배열에는 이미지 파일형식

1~15의 정수 (1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF(intel byte order), 8 = TIFF(motorola byte order, 9 = JPC, 10 = JP2, 11 = JPX, 12= JB2, 13 = SWC, 14 = IFF)

3의 배열에는  width=\"656\" height=\"421\"

 

이런식이 된다.

 

 

 

 

 

 

 

 


<?

$size = GetImageSize ("files/attach/images/411/571/153/1.JPG");

if($size)
{
echo '[0]'.$size[0].'<br/>';
echo '[1]'.$size[1].'<br/>';
echo '[2]'.$size[2].'<br/>';
echo '[3]'.$size[3].'<br/>';
echo '[4]'.$size[4].'<br/>';
echo '[5]'.$size[5].'<br/>';
}

else{?>데이타가 없네요.<?;}

?>

<!--

if($size[2] = 1)
    echo("Type : GIF<BR>");
elseif($size[2] = 2)
    echo("Type : JPG<BR>");
elseif($size[2] =3)
    echo("Type : PNG<BR>");
elseif($size[2] = 4)
    echo("Type : SWF<BR>");
       -->

 

 

 

 

 

 

[정석]

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

 

<?php

$source = "http://phpschool.com/php_loveme/assets/images/top.gif";

// 원격지(예:무료홈계정)에 저장되어있는 이미지 경로

 

// 화일오픈을 한다.
$fp = fopen($source,"r"); // 원격지에 저장된 이미지를 읽기 모드로 오픈

if($fp)
{
// GIF 헤더가 들어있는 부분은 그냥 읽어 지나친다 (6Byte)
$gif_header = fread($fp,6);
// 이미지의 글로벌 폭이 들어있는 부분 (Integer)
$width = ord(fread($fp,2));
// 이미지의 글로벌 높이가 들어있는 부분 (Integer)
$height = ord(fread($fp,2));

fclose($fp);
}

//이미지 출력
echo ("<img src="$source width=$width height=$height border="1' bordercolor='gray' align='center'>");

?>


Articles

1 2 3 4 5