0

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

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

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

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

4

2 回答 2

1

打败我,但你为什么不自己发现:

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

这将打印 的内容$exif,我猜这会很大,但你有时间,对吧?(在您的网络浏览器中查看源代码,以便查看其格式是否正确。)向下钻取以找到密钥 0,然后是密钥 18246,然后是密钥 Data,然后是密钥 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...];
}
于 2010-06-11T05:00:01.600 回答
0

我发现 Adob​​e Bridge 将评级存储在 jpeg 文件中与 Vista 不同的位置。请参阅Suggested php code to read file rating set by Adob​​e Bridge CS3中的帖子中的详细信息

于 2010-06-16T04:45:01.737 回答