PHP & Others

php에서 exif소스이용하기

페이지 정보

본문

php에서 exif소스이용하기 입니다.

zeroboard와는 관계가 없을 수도있으나 혹시라도 찾으는 분을 위해서 올려놓도록하겠습니다.

===================================[ *.php 소스내용]===============================
<?
 function exifdate($imgfi){
  
   echo "---------------------------------------<br>";
  
//include"config.php";

$exif = @read_exif_data($imgfi); //@ <--표시가 핵심
$make = $exif[Make];//카메라 회사
$makemodel=$exif[Model];
$FileSize = $exif[FileSize]/(1024);
$ccdsize = $exif[CCDWidth];
$size = substr($FileSize, 0, 5);
$size2 = substr($ccdsize, 0, 5);
$flash = $exif[FlashUsed];
echo(" 파일이름 : $exif[FileName]
<br>");

if(!$make){echo("");}
else{echo" 제조회사 : $make
<br>";}

if(!$makemodel){echo("");}
else{echo" 제품명 : $makemodel
<br>";}
//else{echo" 제품명 : $exif[CameraModel]
 

if(!$exif[DateTime]){echo("");}
else{echo" 촬영일자 : $exif[DateTime]
<br>";}

if(!$exif[Height] && $exif[Width]){echo("");}
else{echo" 가로×세로 : $exif[Height] × $exif[Width]픽셀
<br>";}

echo(" 파일크기 : $size KB
<br>");

if($flash=="0"){echo(" 플래시 : 사용안함(Off)
<br>");}
elseif($flash=="1"){echo(" 플래시 : 사용(On)
<br>");}
elseif($flash==""){echo("");}
else{echo("");}

if(!$exif[FocalLength]){echo("");}
else{echo" 렌즈 작동 거리 : $exif[FocalLength]
<br>";}

if(!$exif[FocusDistance]){echo("");}
else{echo" 촬영 거리 : $exif[FocusDistance]
<br>";}

if(!$exif[ApertureFNumber]){echo("");}
else{echo" 조리개 : $exif[ApertureFNumber]
<br>";}

if(!$exif[ExposureTime]){echo("");}
else{echo" 셔터속도 : $exif[ExposureTime]
<br>";}

if(!$exif[ISOspeed]){echo("");}
else{echo" ISO 감도 : $exif[ISOspeed]
<br>";}

if(!$exif[ExifVersion]){echo("");}
else{echo" EXIF 버전 : $exif[ExifVersion]
<br>";}

if(!$size2){echo("");}
else{echo" CCD 크기 : $size2 mm(가로)
<br>";}

if(!$exif[Software]){echo("");}
else{echo" 펌웨어 버전 : $exif[Software]
<br>";}

if(!$exif[Comments]){echo("");}
else{echo" 설명 : $exif[Comments]
<br>";}


if($k=="Thumbnail"){
echo(" ");
//$fp=fopen ("Thumbnail$adress",'a');
//fwrite ($fp, $v);
//fclose ($fp);
//echo "
//\n";
}
}
?>
===============================================
위의것이 소스입니다.
그리고 모시면 카메라 모델등 필요한것만 출력되도록 되잇습니다.
원하시는 내용을 좀더 출력하시고자 할때는 아래에 제목으로 되있는것 예로 예) FileName 요것은 파일명입니다.
위의 소스에서도 파일명출력시에는  $exif[FileName] 이렇게  사용했음을 알수있습니다
.또다른위소스에는 안되잇지만 아래에 파일명하나를 이용해서 사용한다면 $exif[DateTimeOriqinal] 이렇게 사용하시면
출력이 가능합니다.
 아래내용은 jpg파일을 임으로 제가 올려서 출력한 정보입니다.
출력싸이트: http://oxtag.com/php/exif/exif.php
FileName : IMG_0144.jpg
FileDateTime : 1195317641
FileSize : 3790733
FileType : 2
MimeType : image/jpeg
SectionsFound : ANY_TAG, IFD0, THUMBNAIL, EXIF, INTEROP, MAKERNOTE
COMPUTED : Array
Make : Canon
Model : Canon PowerShot G7
Orientation : 1
XResolution : 180/1
YResolution : 180/1
ResolutionUnit : 2
DateTime : 2007:10:07 11:49:45
YCbCrPositioning : 1
Exif_IFD_Pointer : 196
THUMBNAIL : Array
ExposureTime : 1/1600
FNumber : 35/10
ExifVersion : 0220
DateTimeOriginal : 2007:10:07 11:49:45
DateTimeDigitized : 2007:10:07 11:49:45
ComponentsConfiguration :
CompressedBitsPerPixel : 5/1
ShutterSpeedValue : 341/32
ApertureValue : 116/32
ExposureBiasValue : 0/3
MaxApertureValue : 116/32
MeteringMode : 5
Flash : 16
FocalLength : 16822/1000
---------------------------------------------------------------------
그리고 이거를 다른 파일명에서 응용하시고자 할때는 include "exifdate.php";  요렇게
맨윗줄에 적어주시고 사용하실때에는
exifdate("test.jpg") 혹은 <input type=file name=imagefile>요렇게 하실때는
exifdate($imagefile);요렇게 사용하셔도 됩니다.

일목요연하게 적지 못하였을수도잇습니다.
잘못되있거나 하시다면 덧글로 써주세요~

관련자료

등록된 댓글이 없습니다.
Today's proverb
“무릇 물이란 지세를 따라 흐르되 작은 틈도 놓치지 않고 적시니 지혜를 갖춘 자와 같고, 움직이면서 아래로 흘러가니 예를 갖춘 자와 같으며, 어떤 깊은 곳도 머뭇거리지 않고 들어가니 용기를 가진 자와 같고 장애물이 막혀서 갇히면 고요히 맑아지니 천명을 아는 자와 같으며, 험한 곳을 거쳐 멀리 흐르지만 끝내 남을 허물어뜨리는 법이 없으니 덕을 가진 자와 같다. 천지는 이것으로 이루어지고, 만물은 이것으로 살아가며, 나라는 이것으로 안녕을 얻고, 만사는 이것으로 평안해지며, 만물은 이것으로 바르게 되는 것이다. 이것이 지혜로운 자가 물을 좋아하는 이유이다.” (한영, <<한시외전>>)