묻고답하기

홈페이지에서 이미지에서 마우스 클릭하면 사진정보가 나오게 하고 싶은데 어디에다 넣어야 할지 찾고 있습니다.

아래 소스는 공개된 것을 가지고 왔습니다.


<?
function getExifInfo($filename,$debug=0) {
        $exposureMode = array('Auto Exposure','Manual Exposure','Auto Bracket');
        $exposureProgram = array("Not defined","Manual","Program (Auto)","Aperture priority","Shutter priority","Creative program","Action program","Portrait mode","Landscape mode");
        $whiteBalance = array("Auto WB","Manual WB");
        $meteringMode = array("Unknown","Average","CenterWeightedAverage","Spot","MultiSpot","Multi-segment","Partial");
        $flash = array("73"=>"On Compulsory Red-eye reduction","89"=>"On Auto Red-eye reduction","95"=>"On Auto Red-eye reduction");

        $erdata = @exif_read_data($filename,0,true);
        if (!$erdata||!$erdata["EXIF"]) { return; }

        $exif["Make"] = $erdata["IFD0"]["Make"]; // 제조사
        $exif["Model"] = $erdata["IFD0"]["Model"]; // 모델
        $exif["ExifVersion"] = $erdata["EXIF"]["ExifVersion"]; // EXIF 버전
        $exif["DateTime"] = $erdata["EXIF"]["DateTimeOriginal"]; // 촬영일
        $exif["Software"] = $erdata["IFD0"]["Software"]; // 사용 Software
        $exif["Width"] = $erdata["EXIF"]["ExifImageWidth"]; // 사진 크기
        $exif["Height"] = $erdata["EXIF"]["ExifImageLength"]; // 사진 크기

        $exif["ExposureMode"] = $exposureMode[$erdata["IFD0"]["ExposureMode"]]; // 노출모드
        if (!$exif["ExposureMode"]) { $exif["ExposureMode"] = $exposureMode[$erdata["EXIF"]["ExposureMode"]]; }

        $tmp =  explode("/",$erdata["EXIF"]["ExposureTime"]); // 노출시간 (셔터스피드)
        $exif["ExposureTime"] = $tmp[0]/$tmp[0]."/".$tmp[1]/$tmp[0]."s";
        $tmp=null;
        
        $tmp = explode("/",$erdata["EXIF"]["FNumber"]); // 조리개값
        $exif["FNumber"] = "F".sprintf("%3.1f",@($tmp[0]/$tmp[1]));
        $tmp=null;

        $exif["ISO"] = "ISO-".$erdata["EXIF"]["ISOSpeedRatings"];  // ISO 감도
        $exif["ExposureProgram"] = $exposureProgram[$erdata["EXIF"]["ExposureProgram"]];
        
        $exif["WhiteBalance"] = $whiteBalance[$erdata["IFD0"]["WhiteBalance"]]; // 화이트벨런스 
        if (!$exif["WhiteBalance"]) { $exif["WhiteBalance"] = $whiteBalance[$erdata["EXIF"]["WhiteBalance"]]; }
        

        $tmp = explode("/",$erdata["EXIF"]["ExposureBiasValue"]); // 노출보정
        $exif["ExposureBias"] = sprintf("%4.2f",@($tmp[0]/$tmp[1]))."EV";
        $tmp=null;
        
        $exif["MeteringMode"] = $meteringMode[$erdata["EXIF"]["MeteringMode"]]; // 측광모드

        if ($flash[$erdata["EXIF"]["Flash"]]) { $flash_str = " (".$flash[$erdata["EXIF"]["Flash"]].")"; } // 플래시사용여부
        $exif["Flash"] = @($erdata["EXIF"]["Flash"]&7)>0?"Flash fired":"Flash not fired";
        
        $tmp = explode("/",$erdata["EXIF"]["FocalLength"]); // 초점거리
        $exif["FocalLength"] = @($tmp[0]/$tmp[1])."mm";
        $tmp=null;
        
        $tmp = (int)$erdata["COMPUTED"]["CCDWidth"]; // CCD
        if ($tmp>0) {
            $exif["CCDWidth"] = $tmp."mm";
        }
        $tmp=null;

        $exif["FocalLengthIn35mmFilm"] =  $erdata["EXIF"]["FocalLengthIn35mmFilm"]." mm"; // 35인치 환산값
        $exif["DigitalZoomRatio"] = $erdata["EXIF"]["DigitalZoomRatio"]; // 줌
        $exif["FirmwareVersion"] = $erdata["MAKERNOTE"]["FirmwareVersion"]; // 펌웨어 버전
        $exif["Lens"] = $erdata["MAKERNOTE"]["UndefinedTag:0x0095"]; // 사용랜즈 Canon Body & Canon Lens Only 

        while(list($k,$v)=each($exif)) {
            if ($v&&trim($v)!="F"&&trim($v)!="ISO-"&&trim($v)!="EV"&&trim($v)!="mm"&&trim($v)!="s") { $exif_data[$k] = $v; }
        }

        if ($debug) {
            echo "<pre>";
            print_r($erdata);
            echo "</pre>";
        }
                //$re = //$exif_data[Model]."*".$exif_data[DateTime]."*".$exif_data[Software]."*".$exif_data[ExposureMode]."*".$exif_data[ExposureTime]."*".$exif_data[FNumber]."*".$exif_data[ISO]."*".$exif_data[WhiteBalance];
        //return $re;
                $re = "";
                foreach($exif_data as $key=>$val){   
                        if($key == "Make") $key = "제조사";
                        if($key == "Model") $key = "모델";
                        if($key == "DateTime") $key = "촬영일";
                        if($key == "Software") $key = "소프트웨어";
                        if($key == "ExposureMode") $key = "노출모드";
                        if($key == "ExposureTime") $key = "노출시간";
                        if($key == "FNumber") $key = "조리개";
                        if($key == "ISO") $key = "감도";
                        if($key == "ExposureProgram") $key = "노출방식";
                        if($key == "WhiteBalance") $key = "화이트발란스";
                        if($key == "ExposureBias") $key = "노출보정";
                        if($key == "MeteringMode") $key = "측광방식";
                        if($key == "Flash") $key = "플래시";
                        if($key == "FocalLength") $key = "초점거리";
                        if($key == "FocalLengthIn35mmFilm") $key = "35mm 환산";

                        if($val == "Aperture priority") $val = "조리개우선(A)";
                        if($val == "Auto Exposure") $val = "자동노출";
                        if($val == "Manual") $val = "메뉴얼(M)";
                        if($val == "Manual Exposure") $val = "수동노출";
                        if($val == "Multi-segment") $val = "멀티측광";
                        if($val == "CenterWeightedAverage") $val = "중앙부측광";
                        if($val == "Flash not fired") $val = "플래시 사용 안함";
                        if($val == "Flash fired") $val = "플래시 사용 ";
                        if($val == "Spot") $val = "스팟측광";
                       

                        if($key == "ExifVersion" || $key == "Width" ||$key == "Height" || $key == "DigitalZoomRatio" ||$key == "CCDWidth") continue;
                        $re .=  $key. " : ".$val."*";
                }
                return $re;
    }
?>
<html>
<head>
<title>eixf 보기</title>
<style type="text/css">
body,div{
        font-size:10pt;
}
#exifInfo{
        padding:10px;
        border:1px solid #c0c0c0;
        width:300px; height:100px;
        position:absolute;left:100px;top:100px;
        background:#FFF;
        display:none;
        text-align:left;
        filter:alpha(opacity=90);       
        color:gray;
}

#exifInfo ul li{
        text-indent:-20px;
        list-style:none;
        margin:4px;
}
#exifInfo #exifLogo{
        width:100%;
        font-size:12pt;
        font-weight:bold;
        background:#c0c0c0;
        padding:4px;
        color:red;
}
#exifInfo #InfoClose{
        border:0px solid;
        width:100%;
        text-align:center;
        padding:4px;
}
#exifInfo #InfoClose span{
        background:#000;
        cursor:pointer;
        padding:14px;
        margin:2px;
}
</style>
<script type="text/javascript">
function exifInfoJs(val){
        var arr = val.split("*");
        var exif = document.getElementById("exifInfo");
        var str = "<div id='exifLogo'>+ EXIF Information +</div>";
        str  += "<ul>";
        for(i=0; i<arr.length; i++){
                str += "<li>"+arr[i]+"</li>";       
        }
        str += "</ul>";
        exif.style.display = "block";
        exif.style.left = event.clientX - 20;
        exif.style.top = event.clientY+document.body.scrollTop-50;
        str += "<div id='InfoClose' onclick='exifclose()'><span>닫기</span></div>";
        exif.innerHTML = str;
}
function exifclose(){
        var exif = document.getElementById("exifInfo");
        exif.style.display = "none";
}

</script>
</head>
<body>
<!--eixf 정보 div-->
<div id="exifInfo"></div>

<img src="dsc.jpg" onClick="exifInfoJs('<?=getExifInfo("dsc.jpg")?>')">
</body>
</html>

글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
컴펑크 euc-kr 서버에서 제로보드xe 사용 [1] 2008.05.29 by 지우529
곰돌이 외부페이지 매개변수 관련하여 질문있습니다. [1] 2008.05.29 by 라르게덴
여등 이미지 경로 지정하는 방법문의? [9] 2008.05.29 by 여등
4차원소녀 갤러리 게시판 스킨 바꾸기 질문 ㅠ.ㅠ ~ [1] file 2008.05.29 by 4차원소녀
스킨스 에디터 textarea에 글자색이 자꾸 검정색으로 나와요!! ㅠ.ㅠ  
스킨스 에디터 텍스트라 스크롤바는 css 안먹나요??  
미령전설 제로보드 php코드 질문이요 [4] 2008.05.29 by 미령
리어코리아 분명히 어제까지만 해도 .. 정상적으로 작동하던 JS가 오늘 이상해져 버렸습니다 .. ㅠ [4] 2008.05.29 by 리어코리아
영달이 웹 계정 이동시 비밀번호 오류라고 나옵니다. [1] file 2008.05.29 by 리어코리아
윤성수193 제로보드xe설치시 mysql 따로 설정해줘야대나요? [3] file 2008.05.29 by 덱스터
kslee 고용량파일 업로드문제. [1] 2008.05.30 by 탑심
J.. 페이지에 게시판모듈삽입문제 [3] 2008.05.30 by J..
천사의키스 ㅜㅜ 이거 어케 해야하조 [1] file 2008.05.30 by 우야꼬
ce888 index.html가 저장되어 있는 곳 경로좀 ㅜㅜ [1] 2008.05.30 by ce888
리어코리아 {$oDocument->getUserId()} .... 그렇다면 ..... [2] 2008.05.30 by 리어코리아
SM3 1.0.3 - [재질문] - 회원가입 입력박스 가로크기 조정하려고 합니다. [11] file 2008.05.30 by SM3
etowers 이미지 첨부 문제!! 도와주세요 ㅠㅠㅠㅠ [13] 2008.05.30 by richrich
Darkghost 로그인 폼(IE6.0) 문제(FF는 정상) [6] file 2008.05.30 by Darkghost
구라박사 사진정보 보는 밥법 [2] 2008.05.30 by 구라박사
고정애 홈페이지 게시판 이용할때 문의  
나무 설치화면이 나오질 않고 루트내용이 나옵니다. [2] 2008.05.30 by 덱스터
싱싱훙이 XE가 GPL라이센스를 따르고 있는데요.. 솔루션을...  
윤임수 레이아웃이 저장이 되지 않습니다. [4] 2008.05.30 by 윤임수
지니 도와줘요ㅜㅜ 제로보드가 망가졌나바여,,...ㅜㅜ [2] 2008.05.30 by 지니
airdrill 기본레이아웃 메뉴 폰트랑 크기 조정 할려면 어디서 해야되죠??? [1] file 2008.05.30 by 老姜君
헨쯔 레이아웃에서 높이 100% 지정은 불가능한가요? [1] 2008.05.30 by 양정훈749
하나로45 zb4에서 zbxe로 데이터 이전후에 zb4에서 사용하던 필드값을 불러올수 있나요? [2] 2008.05.30 by 하나로45
양정훈749 바디의 높이 지정에 관한 팁이 있을까요? file  
하늘사랑209 위젯으로 최근문서 출력시...  
ce888 댓글이 달릴때마다 쪽지가 오는데... [1] 2008.05.30 by 우야꼬