웹마스터 팁

<?php

// This function is used to determine the camera details for a specific image. It returns an array with the parameters.
function cameraUsed($imagePath) {

    // Check if the variable is set and if the file itself exists before continuing
    if ((isset($imagePath)) and (file_exists($imagePath))) {
    
      // There are 2 arrays which contains the information we are after, so it's easier to state them both
      $exif_ifd0 = read_exif_data($imagePath ,'IFD0' ,0);       
      $exif_exif = read_exif_data($imagePath ,'EXIF' ,0);
  $exif_makernote = read_exif_data($imagePath ,'MAKERNOTE' ,'UndefinedTag');

//MAKERNOTE.UndefinedTag:0x0095: EF24-70mm f/2.8L II USM   

      //error control
      $notFound = "Unavailable";
      
      // Makernote 
      if (@array_key_exists('UndefinedTag', $exif_makernote)) {
        $camMakenote = $exif_makernote['UndefinedTag'];
      } else { $exif_makernote = $notFound; }
//$return['makernote'] = $camMakernote;
      // Make 
      if (@array_key_exists('Make', $exif_ifd0)) {
        $camMake = $exif_ifd0['Make'];
      } else { $camMake = $notFound; }
      
      // Model
      if (@array_key_exists('Model', $exif_ifd0)) {
        $camModel = $exif_ifd0['Model'];
      } else { $camModel = $notFound; }
      
      // Exposure
      if (@array_key_exists('ExposureTime', $exif_ifd0)) {
        $camExposure = $exif_ifd0['ExposureTime'];
      } else { $camExposure = $notFound; }

      // Aperture
      if (@array_key_exists('ApertureFNumber', $exif_ifd0['COMPUTED'])) {
        $camAperture = $exif_ifd0['COMPUTED']['ApertureFNumber'];
      } else { $camAperture = $notFound; }
      
      // Date //파일날자
      if (@array_key_exists('DateTime', $exif_ifd0)) {
        $camDate = $exif_ifd0['DateTime'];
      } else { $camDate = $notFound; }

      // Date2
      if (@array_key_exists('DateTimeOriginal', $exif_exif)) {
        $camDate2 = $exif_exif['DateTimeOriginal'];
      } else { $camDate2 = $notFound; }

      // ISO
      if (@array_key_exists('ISOSpeedRatings',$exif_exif)) {
        $camIso = $exif_exif['ISOSpeedRatings'];
      } else { $camIso = $notFound; }

//Software
      if (@array_key_exists('Software', $exif_ifd0)) {
        $camSoft = $exif_ifd0['Software'];
      } else { $camSoft = $notFound; }

//FocalLength
      if (@array_key_exists('FocalLength', $exif_exif)) {
        $camFocal = $exif_ifd0['FocalLength'];
      } else { $camFocal = $notFound; }


//Height
      if (@array_key_exists('Height', $exif_ifd0['COMPUTED'])) {
  $camHeight = $exif_ifd0['COMPUTED']['Height'];
      } else { $camHeight = $notFound; }

//Widht
      if (@array_key_exists('Width', $exif_ifd0['COMPUTED'])) {
  $camWidth = $exif_ifd0['COMPUTED']['Width'];
      } else { $camWidth = $notFound; }

      $return = array();
      $return['make'] = $camMake;
      $return['model'] = $camModel;
  $return['makernote'] = $camMakernote;
      $return['exposure'] = $camExposure;
      $return['aperture'] = $camAperture;
      //$return['date'] = $camDate; //파일날자
      $return['iso'] = $camIso;
  $return['soft'] = $camSoft;
  $return['focal'] = $camFocal;
  $return['height'] = $camHeight;
  $return['width'] = $camWidth;
  $return['date2'] = $camDate2;
      return $return;
    


    } else {
      return false; 
    } 
}
?>
<include target="/home/hosting_users/******/www/_data/exif/exif.php" />
{@
$imagePath=$file->uploaded_filename;
$img_size=getimagesize($imagePath);
$file_size=filesize($imagePath);
$file_size3=number_format($file_size);
$camera = cameraUsed($imagePath);
//echo "사용기종 : " . $camera['make'] . " " . $camera['model'] . " | ";
echo "사용기종 : " . $camera['model'] . " | ";
//echo "사용렌즈 : " . $camera['makernote'] . " | ";
echo "노출시간 : " . $camera['exposure'] . " | ";
echo "조리개 : " . $camera['aperture'] . " | ";
echo "ISO : " . $camera['iso'] . " | ";
echo "초점거리 : " . $camera['focal'] . " | ";
//echo "Software : " . $camera['soft'] . " | ";
echo "촬영일자 : " . $camera['date2'] . " | ";
//echo "해상도 : ".$camera['width'] ."x". $camera['height'];
echo "해상도 : ".$img_size[0]."x".$img_size[1]." px" . " | ";
//echo $img_size[3];
echo "파일크기 : ".$file_size3." byte";
//return FileSizeConvert($imagePath);
}

exif 출력 애드온이 제대로 작동하지않길래 php.net 에서 샘플을 긁어오고 살을 조금붙여서 사용하고있습니다.
잘 작동하네요 ^^

 

태그 연관 글
  1. [2010/11/22] 묻고답하기 도와주세요 ㅠ..ㅠ ; DQ_LIBS/include 폴더에서 파일하나를 삭제했는데 by 하나비839
제목 글쓴이 날짜
(회원가입) 닉네임 필요없이 이름만 입력 받으려면 [16] Simulz 2007.08.22
rewrite mod 설정, 해지 [1] 아름드리479 2007.08.22
설치환경을 갖추어도 설치시 문제 [1] 하얀후니 2007.08.22
로고 위치 변경하기 [4] 김영훈715 2007.08.21
홈페이지 주소 고정시키기 [12] file :에반: 2007.08.21
zbxe 일주일 사용기 및 팁 [1] 팔공산 2007.08.21
layout skin 제작시 info.xml도 잘 보세요 [1] 바람처럼.. 2007.08.21
페이지 수정시 메뉴들 가지런히 놓이게 하기 [3] 팔공산 2007.08.21
(수정) ZBXE 설치/로그인 등이 안될 때 시도해보세요. (MySQL DB) 핑크플로이드 2007.08.20
OpenID 적용 [6] file 맑은하늘75 2007.08.20
게시판에 나타나는 이름을 실명으로 나타내자! [5] 박영주964 2007.08.19
각 메뉴 옆에 게시물 갯수 표시하기 [6] coolsushi 2007.08.19
본문 하단에 (애드센스)광고 넣기 [2] roresy 2007.08.19
한글 경로가 404 에러로 뜨는 경우 처리방법 [2] 베니 2007.08.18
404 페이지 못찾음으로 나오는 문제 수정 [9] 화니군 2007.08.18
리눅스에서 제로보드 xe를 위한 환경 구축하기 [6] 써니a 2007.08.18
사이트접속시 제로보드XE폴더로 이동되게 하는 쉬운방법 [8] 부찬™ 2007.08.17
위지웍 에디터 웹폰트 사용하기 [6] 최지연 2007.08.17
서브 메뉴 배경색 바꾸기 [4] file Chang-Jo(창조) 2007.08.17
4차 서브메뉴 사용하기!! [4] [1] file 럭키587 2007.08.17