我遇到了一个问题,我正在为摄影师的小型图像网站工作,摄影师使用photoshop将信息存储到图像中。
图像数据,位置,描述等信息......
自从CS3以来,他一直在这样做。
当用户将图片上传到网站时,他希望所有内容都自动发布,因此我试图读出所有关键字,如下所示:
$size = getimagesize($path, $info);
if(isset($info['APP13'])) {
$iptc = iptcparse($info['APP13']);
if(isset($iptc['2#025'])) {
$tagsArr = $iptc['2#025'];
} else {
$tagsArr = array();
}
}
这一切都适用于CS5中保存的图像,但对于保存在CS3中的图像,它会失败,即使我100%确定关键字在那里。
举个例子:
这个失败了 - http://woutr.be/naturalight/uploads/ea568fea3e7eb1448d30fb823f477aac.jpg
这个有效 - http://woutr.be/naturalight/uploads/e3f2e6db833803a77eb75aae16e8c8ec.jpg
我已经调查了几天,但我无法弄清楚为什么这对某些图片不起作用。
答案 0 :(得分:2)
我知道你之前曾提到你曾尝试过ozhiker的代码,但是我能够使用Photoshop_File_Info.php从两个图像中提取完整的关键字列表
http://www.ozhiker.com/electronics/pjmt/download.html
从文件1:
amphibian
aquatic
belgium
close-up
common frog
europe
frog
froglet
leaf
metamorphosis
pond
reproduction
silhouette
spring
veins
water
waterplantsamfibie
belgie
blad
bruine kikker
europa
kikker
kikkervisje
metamorfose
nerven
poel
silhouet
vijver
voorjaar
voortplanting
watermilieu
waterplanten
从文件2:
finland
abstract
boom
tree
bomen
trees
boomstam
dromerig
effect
soft
zacht
kleur
colour
lijnen
lines
patroon
pattern
patronen
patterns
scenic
picturesque
sfeer
atmosphere
bos
forest
naaldhout
conifer
pine forest
blauw
blue
lijnen
lines
sparrenbos
fijnsparrenbos
firtree
spar
fijnspar
picea abies
norway spruce
habitat
national park
alps
europe
nationaal park
nature
natuur
woud
vegetatie
plant
vegetation
planting
tree
boom
boslandschap
wildernis
monochrome
movement
beweging
答案 1 :(得分:1)
我刚检查了两个文件,失败的文件没有工作文件的关键字。失败的文件描述了没有关键字的“Rana Temporaria”,而工作文件描述了一个“松林”,其中包含一长串关键字,如“阿尔卑斯山,植被,自然”。它们都有一个JPEG APP13数据段,但这些段的内容完全不同。
答案 2 :(得分:0)
您是否尝试过exif_
功能?他们可以读取图像的标题。