使用PHP获取照片'星级'评级

时间:2010-06-11 04:28:20

标签: php adobe exif adobe-bridge

我正在尝试使用php代码从.jpg文件中提取照片'星'评级。我的目的是在幻灯片中显示评分最高的图像。我发现使用PHP_JPEG_Metadata_Toolkit_1.11我可以获得该文件的评级,如果评级是在Vista中设置的(右键单击 - >属性 - >详细信息 - >通过点击星标设置评级) Metadata_Toolkit返回的数组

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

但是,如果我使用Adobe Bridge设置评级,我可以在Vista中看到“明星”,但是 $exif[0][18246]['Data'][0]会返回空值。

PHP代码是否可用于读取Windows Vista和Adobe Bridge应用的评级?

2 个答案:

答案 0 :(得分:1)

打败我,但为什么不为自己找到答案:

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

这将打印$exif的内容,我猜这个内容很大,但你有时间,对吗? (在Web浏览器中查看源代码,以便正确显示格式化。)深入查找键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...];
}

答案 1 :(得分:0)

我发现Adobe Bridge将评级存储在jpeg文件中与Vista不同的位置。请参阅Suggested php code to read file rating set by Adobe Bridge CS3

上发布的帖子中的详细信息