我正在尝试使用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应用的评级?
答案 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
上发布的帖子中的详细信息