2010-06-11 2 views
0

PHP 코드를 사용하여 .jpg 파일에서 사진 '별'등급을 추출하려고합니다. 내 의도는 가장 높은 등급의 이미지를 슬라이드 쇼의 일부로 표시하는 것입니다. 나는 PHP_JPEG_Metadata_Toolkit_1.11을 사용하여 그것을 발견했습니다. 등급이 Vista에서 (오른쪽 클릭 -> 속성 -> 세부 - 별을 클릭하여 등급 설정) 내에서 설정된 경우 파일의 등급을 얻을 수 있습니다. 내가 어도비 브릿지를 사용하여 등급을 설정하면 Metadata_Toolkit
PHP를 사용하여 사진 '별'등급 받기

$exif = get_EXIF_JPEG($photodir . "/" . $filename);
$rating = $exif[0][18246]['Data'][0];

는 그러나, 나는 비스타의 '별'을 볼 수 있지만,
$exif[0][18246]['Data'][0]는 null 값을 반환합니다.

Windows Vista와 Adobe Bridge에서 모두 적용되는 등급을 읽으려면 PHP 코드를 사용할 수 있습니까?

답변

1

나를 구타, 그런데 왜 당신은 자신을 위해 밖으로 찾을 수 없습니다 : 오른쪽이 내가 큰 것 같은데요 $exif의 내용을 인쇄 할 것이다, 그러나 당신은 시간을 가지고

$exif = get_EXIF_JPEG($photodir . "/" . $filename); 
print_r($exif); 

? 웹 브라우저에서 소스를보고 올바른 형식으로 표시되는지 확인하십시오. 드릴 다운하여 키 0을 찾은 다음 키 18246을 누른 다음 데이터 키를 누른 다음 키 0을 찾으십시오. 이미 찾은 것이 있습니다. 이제 다른 평가가있는 위치를 검색하십시오. 바라기는 너무 찾기가 어렵지 않습니다. 당신이 그것을 발견하면, 그것에 경로를 적어 둡니다. 그런 다음 얻으려면 :

// This is your Vista rating 
$rating = $exif[0][18246]['Data'][0]; 
if ($rating == null) { 
    // no Vista rating, so get the Bridge rating 
    $rating = $exif[...fill in this path...]; 
} 
+0

힌트를 보내 주셔서 감사합니다. 두 개의 큰 다차원 배열 사이의 차이점을 확인하는 데 도움이되는 2 개의 배열 사이의 차이를 인쇄하는 재귀 함수를 작성했습니다. 나는 2 개의 jpeg 머리말 사이 다름을 찾아 낼 수있을 후에 나는 결과를 배치 할 것이다. – DarwinIcesurfer

관련 문제