텍스트큐브

태터툴즈 사진 정보(Exif) 표시 플러그인

원래 만드셨던 엔젤퀸님의 플러그인에 사용방법을 추가하여 포스트합니다.

inc_function.php을 열고 맨 밑부분에 아래를 추가

/************************** 만든이 : 엔젤퀸 http://ngelqueen.cafe24.com/ ngelqueen@naver.com **************************/ function info($var,$hide,$former,$latter){ /************************** info 함수 : $var 가 존재하고, $hide 값이 아닐 때에, 앞 쪽에 $former, 뒤 쪽에 $latter를 붙여서 리턴한다. 예 : info($exposuretime,$x,$x,"s"); ==> $exposuretime 변수가 $x 값이 아니므로, 앞 쪽에 $x, 뒤쪽에 s를 붙여 리턴한다. ($x는 !$isset) ==>결과 예 : 1/1200s **************************/ if(isset($var)){ if(!$hide){ $var=$former.$var.$latter; return $var; }else{ if($var!=$hide){ $var=$former.$var.$latter; return $var; } } } } function get_picture_info($spath,$cval){ $file="./".$spath.$cval[1]; $info=@exif_read_data($file); if($info[Make]&&$info[Model]&&$info[COMPUTED][ApertureFNumber]&&$info[ExposureTime]){ /************************** 변수 설명 $datetimeoriginal : 촬영 날짜 $fnumber : F수 $company : 제조 회사 ex)NIKON, NIKON CORPORATION $model : 모델명 ex)E3200(COOLPIX3200은 E3200으로 나옵니다.), D70 $exposuretime : 노출 시간 $iso : ISO $focallength : 초점 거리 $focallengthin35mmfilm : 35mm 필름 환산시 초점 거리 $lightsource : 광원 $exposureprogram : 노출 방식 (M, A, S, P) $meteringmode : 측광 방식 ex) 스팟 측광, 패턴 측광 $exposuremode : 노출 방식 ex)자동, 수동, 브라켓 $exposurebiasvalue : EV 스텝 ex)3.0 EV $whitebalance : 화이트 밸런스 **************************/ $filedatetime=$info[FileDateTime];// => 1116461820 //TIMESTAMP $date=date("Y년 n월 j일 A g시 i분 s초",$filedatetime); $datetimeoriginal=$info[DateTimeOriginal];// => 2005:05:19 09:17:00 $datetimedigitized=$info[DateTimeDigitized];// => 2005:05:19 09:17:00 $fnumber=$info[COMPUTED][ApertureFNumber];//F수 $company=$info[Make];//제조회사 ex)NIKON $model=$info[Model];//모델명 ex)E3200 $exposuretime=$info[ExposureTime];//노출시간 ex)10/3000 if(gettype($exposuretime)=="string"){ if(ereg("/",$exposuretime)){ $exposuretime_array=explode("/",$exposuretime); if($exposuretime_array[0]!=$exposuretime_array[1]){ for($i=0;($i<=$exposuretime_array[0])&&($i<=$exposuretime_array[1]);$i++){ if(($exposuretime_array[0]%$i==0)&&($exposuretime_array[1]%$i==0)){ $gcm=$i; } } $exposuretime_array[0]/=$gcm; $exposuretime_array[1]/=$gcm; $exposuretime=$exposuretime_array[0]."/".$exposuretime_array[1]; }else{ $exposuretime=1; } } } $iso=$info[ISOSpeedRatings]; $focallength=$info[FocalLength];//초점거리 ex)174/10 if(gettype($focallength)=="string"){ if(ereg("/",$focallength)){ $focallength_array=explode("/",$focallength); if($focallength_array[1]%10==0){ if($focallength_array[0]%10==0){ $focallength=($focallength_array[0]/10)."/".($focallength_array[1]/10); }else{ $focallength=$focallength_array[0]/$focallength_array[1]; } }else if($focallength_array[1]==1){ $focallength=$focallength_array[0]; } } } $focallengthin35mmfilm=$info[FocalLengthIn35mmFilm];//35mm필름 환산시 초점거리 => 115 $lightsource=$info[LightSource];//광원 => 0 $lightsource_array=Array('0' => 'unknown','1' => 'Daylight','2' => 'Fluorescent','3' => 'Tungsten (incandescent light)','4' => 'Flash','9' => 'Fine weather','10' => 'Cloudy weather','11' => 'Shade','12' =>'Daylight fluorescent (D 5700 . 7100K)','13' => 'Day white fluorescent (N 4600 . 5400K)','14' => 'Cool white fluorescent (W 3900 . 4500K)','15' => 'White fluorescent (WW 3200 . 3700K)','17' => 'Standard light A','18' => 'Standard light B','19' => 'Standard light C','20' => 'D55','21' => 'D65','22' => 'D75','23' => 'D50','24' => 'ISO studio tungsten','255' => 'other light source'); $lightsource=$lightsource_array[$lightsource]; $exposureprogram=$info[ExposureProgram];//노출방식(M,A,S,P) ex)2 $exposureprogram_array=Array('0' => 'Not defined','1' => 'Manual','2' => 'Normal program','3' => 'Aperture priority','4' => 'Shutter priority','5' => 'Creative program (biased toward depth of field)','6' => 'Action program (biased toward fast shutter speed)','7' => 'Portrait mode (for closeup photos with the background out of focus)','8' => 'Landscape mode (for landscape photos with the background in focus)'); $exposureprogram=$exposureprogram_array[$exposureprogram]; $meteringmode=$info[MeteringMode];//측광방식 => 5 $meteringmode_array=Array('0' => 'unknown','1' => 'Average','2' => 'CenterWeightedAverage','3' => 'Spot','4' => 'MultiSpot','5' => 'Pattern','6' => 'Partial','255' => 'other'); $meteringmode=$meteringmode_array[$meteringmode]; $exposuremode=$info[ExposureMode];//노출방식 => 0 $exposuremode_array=Array('0'=>'Auto exposure','1'=>'Manual exposure','2'=>'Auto bracket'); $exposuremode=$exposuremode_array[$exposuremode]; $exposurebiasvalue=$info[ExposureBiasValue];// => 0/10 if(gettype($exposurebiasvalue)=="string"){ if(ereg("/",$exposurebiasvalue)){ $exposurebiasvalue_array=explode("/",$exposurebiasvalue); $exposurebiasvalue=$exposurebiasvalue_array[0]/$exposurebiasvalue_array[1]; $exposurebiasvalue*=10; $exposurebiasvalue=floor($exposurebiasvalue); $exposurebiasvalue/=10; if(gettype($exposurebiasvalue)=="integer"){ $exposurebiasvalue.=".0"; } } } $whitebalance=$info[WhiteBalance];// => 0 if($whitebalance==0){ $whitebalance="Auto white balance"; }else{ $whitebalance="Manual white balance"; } //$string=info($company,$x,$x,$x); $string=info($company,$x,$x,$x).info($model,$x," ",$x).info($datetimeoriginal,$x," - ",$x); $string.="<br/>".info($fnumber,$x,$x,$x).info($focallengthin35mmfilm,$x," ","mm").info($iso,$x," ISO",$x).info($exposuretime,$x," ","s"); //$string.="<br/>".info($focallength,$x,$x,"mm").info($focallengthin35mmfilm,$x,"(35mm film : ","mm)"); return $string; } }


다시 inc_function.php에서

attach_image() function 부분을 찾아서

이것을
$buf = $prefix."<center>".set_file($type, $cval[1], $cval[2], $spath, $rpath, $apath)."</center></td></tr><tr><td class=cap1>$cval[3]</td></tr></table>".$postfix;


이렇게 바꿔주세요.
$buf = $prefix."<center>".set_file($type, $cval[1], $cval[2], $spath, $rpath, $apath)."</center></td></tr><tr><td class=cap1>$cval[3]".get_picture_info($apath,$cval)."</td></tr></table>".$postfix;


태터 툴즈에서 디지털 카메라로 찍은 사진을 올리면 사진 파일 내부의 Exif 정보를 읽어들여 표시해 줍니다.

* 디지털 카메라로 찍은 원본 사진이 아닌 포토샵으로 리사이징한 사진이나 링크를 이용하여 출력한 경우에는 정보가 출력되지 않습니다.

※또한, read_exif_data 함수를 지원하는 계정이어야 합니다.

태터센터를 돌아다니다 우연히 http://cheum.cafe24.com/tt/index.php?pl=47 에서 포토 블로그에 Exif 정보를 자동으로 표시해주는 패치를 찾았습니다. 당연히 즉석에서 작업. - 사진의 캡션 부분에 Exif 정보

"교환 이미지 파일 형식" [ 交換-形式, exchangeable image file format, EXIF ] 디지털 카메라용의 화상 파일 형식. 화상 데이터와 함께 촬영일 등 부수 정보와 축소 화상(thumb-nail)이 하나의 필름에 기록될

1. 한 줄짜리 달력 만들기 http://danew.net/index.php?pl=128 2. 트래픽표시 http://ogi.ogiwgi.com/index.php?pl=119&ct1=2&ct2=10 3. 사진 정보(Exif) 표시 플러그인 (not yet) http://cheum.cafe24.com/tt/index.p..