2015-07-02 2 views
3

Я пытаюсь прочитать тег изображения «Люди», используя PHP из изображения, которое было отредактировано в галерее окон в реальном времени. По умолчанию этот тег не существует, но как только человек был помечен на этом изображении, тег «Люди» добавляется в метаданные изображения в Фотогаллерею.Чтение метаданных метаданных пользовательских изображений с использованием PHP

Desctiprion - People TAG

Я пытаюсь читать людей тег, но PHP не читать.

Это код, который я попробовал:

$exif = exif_read_data($filename, 0, true); 
var_dump($exif); 

Этот код возвращается все теги ожидать это.

Результат: enter image description here

Я очень ценю вашу помощь на этом.

Спасибо

Это образец изображения, если вы хотите, чтобы проверить вещи: http://www.mediafire.com/download/f2wpdrwsb8lajpj/TWblHuo.zip


Я хочу получить THS «хс» значение После попытки решения jhead в ЦМД это выход:

<?xml version="1.0" encoding="utf-8"?> 


C:\wamp\www\photos>jhead.exe -v C:\Users\joseph.azzam1\Desktop\Highres\sample.jp 
g 
JFIF SOI marker: Units: 1 (dots per inch) X-density=96 Y-density=96 
Exif header 14466 bytes long 
Exif section in Motorola order 
(dir has 8 entries) 
    ImageDescription = "edgf" 
    DateTime = "2015:06:30 15:39:28" 
    Unknown Tag 4746 Value = 2 
    Unknown Tag 4749 Value = 25 
    ExifOffset = 2130 
    Exif Dir:(dir has 1 entries) 
     Unknown Tag ea1c Value = "?Ω?" 
    Windows-XP Title = edgf 
    Windows-XP subject = test 
    Unknown Tag ea1c Value = "?Ω?" 
    Continued directory (dir has 6 entries) 
     Compression = 6 
     XResolution = 96/1 
     YResolution = 96/1 
     ResolutionUnit = 2 
     ThumbnailOffset = 4304 
     ThumbnailLength = 10153 
Thumbnail size: 10153 bytes 
COM marker comment: CREATOR: gd-jpeg v1.0 (using IJG JPEG v90), default quality 
? 
Image cotains XMP section, 14753 bytes long 
9?http://ns.adobe.com/xap/1.0/?<?xpacket begin='???' id='W5M0MpCehiHzreSzNTczkc9 
d'?>? 
<x:xmpmeta xmlns:x="adobe:ns:meta/"><rdf:RDF xmlns:rdf="http://www.w3.org/1999/0 
2/22-rdf-syntax-ns#" 
><rdf:Description rdf:about="uuid:faf5bdd5-ba3d-11da-ad31-d33d75182f1b" xmlns:xm 
p="http://ns.adobe.c 
om/xap/1.0/"><xmp:CreatorTool>Microsoft Photo Gallery 16.4.3528.331</xmp:Creator 
Tool><xmp:Rating>2</ 
xmp:Rating></rdf:Description><rdf:Description rdf:about="uuid:faf5bdd5-ba3d-11da 
-ad31-d33d75182f1b" 
xmlns:MP="http://ns.microsoft.com/photo/1.2/"><MP:RegionInfo><rdf:Description xm 
lns:rdf="http://www. 
w3.org/1999/02/22-rdf-syntax-ns#"><MPRI:Regions xmlns:MPRI="http://ns.microsoft. 
com/photo/1.2/t/Regi 
onInfo#"><rdf:Bag xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:l 
i><rdf:Description x 
mlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><MPReg:Rectangle xmlns:MP 
Reg="http://ns.micro 
soft.com/photo/1.2/t/Region#">0.144259, 0.358824, 0.065751, 0.098529</MPReg:Rect 
angle></rdf:Descript 
ion>? 
???????</rdf:li><rdf:li><rdf:Description xmlns:rdf="http://www.w3.org/1999/02/22 
-rdf-syntax-ns#"><MP 
Reg:Rectangle xmlns:MPReg="http://ns.microsoft.com/photo/1.2/t/Region#">0.211973 
, 0.294118, 0.023553 
, 0.035294</MPReg:Rectangle></rdf:Description>? 
???????</rdf:li><rdf:li><rdf:Description xmlns:rdf="http://www.w3.org/1999/02/22 
-rdf-syntax-ns#"><MP 
Reg:Rectangle xmlns:MPReg="http://ns.microsoft.com/photo/1.2/t/Region#">0.350343 
, 0.423529, 0.056919 
, 0.085294</MPReg:Rectangle><MPReg:PersonDisplayName xmlns:MPReg="http://ns.micr 
osoft.com/photo/1.2/ 
t/Region#">xc</MPReg:PersonDisplayName></rdf:Description>? 
???????</rdf:li><rdf:li><rdf:Description xmlns:rdf="http://www.w3.org/1999/02/22 
-rdf-syntax-ns#"><MP 
Reg:Rectangle xmlns:MPReg="http://ns.microsoft.com/photo/1.2/t/Region#">0.352306 
, 0.300000, 0.023553 
, 0.035294</MPReg:Rectangle></rdf:Description>? 
???????</rdf:li><rdf:li><rdf:Description xmlns:rdf="http://www.w3.org/1999/02/22 
-rdf-syntax-ns#"><MP 
Reg:Rectangle xmlns:MPReg="http://ns.microsoft.com/photo/1.2/t/Region#">0.395486 
, 0.304412, 0.047105 
, 0.070588</MPReg:Rectangle></rdf:Description>? 
???????</rdf:li><rdf:li><rdf:Description xmlns:rdf="http://www.w3.org/1999/02/22 
-rdf-syntax-ns#"><MP 
Reg:Rectangle xmlns:MPReg="http://ns.microsoft.com/photo/1.2/t/Region#">0.823356 
, 0.560294, 0.095191 
, 0.142647</MPReg:Rectangle></rdf:Description>? 
???????</rdf:li></rdf:Bag>? 
?????</MPRI:Regions></rdf:Description>? 
???</MP:RegionInfo></rdf:Description><rdf:Description xmlns:MicrosoftPhoto="http 
://ns.microsoft.com/ 
photo/1.0/"><MicrosoftPhoto:Rating>25</MicrosoftPhoto:Rating></rdf:Description>< 
rdf:Description xmln 
s:dc="http://purl.org/dc/elements/1.1/"><dc:title><rdf:Alt xmlns:rdf="http://www 
.w3.org/1999/02/22-r 
df-syntax-ns#"><rdf:li xml:lang="x-default">edgf</rdf:li></rdf:Alt>? 
???</dc:title></rdf:Description><rdf:Description xmlns:dc="http://purl.org/dc/el 
ements/1.1/"><dc:des 
cription><rdf:Alt xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:l 
i xml:lang="x-defaul 
t">edgf</rdf:li></rdf:Alt>? 
???</dc:description></rdf:Description></rdf:RDF></x:xmpmeta>? 


Approximate quality factor for qtable 0: 75 (scale 50.51, var 0.81) 
Approximate quality factor for qtable 1: 75 (scale 50.52, var 0.19) 
JPEG image is 1019w * 680h, 3 color components, 8 bits per sample 
File name : C:\Users\joseph.azzam1\Desktop\Highres\sample.jpg 
File size : 110626 bytes 
File date : 2015:07:01 13:29:21 
Date/Time : 2015:06:30 15:39:28 
Resolution : 1019 x 680 
Comment  : CREATOR: gd-jpeg v1.0 (using IJG JPEG v90), default quality 
Comment  : ? 


C:\wamp\www\photos>pause 
Press any key to continue . . . 

с помощью:

var_dump(system("jhead.exe -v $filename")); 

Это выход PHP:

JFIF SOI marker: Units: 1 (dots per inch) X-density=96 Y-density=96 Exif header 14466 bytes long Exif section in Motorola order (dir has 8 entries) ImageDescription = "edgf" DateTime = "2015:06:30 15:39:28" Unknown Tag 4746 Value = 2 Unknown Tag 4749 Value = 25 ExifOffset = 2130 Exif Dir:(dir has 1 entries) Unknown Tag ea1c Value = "?ê?" Windows-XP Title = edgf Windows-XP subject = test Unknown Tag ea1c Value = "?ê?" Continued directory (dir has 6 entries) Compression = 6 XResolution = 96/1 YResolution = 96/1 ResolutionUnit = 2 ThumbnailOffset = 4304 ThumbnailLength = 10153 Thumbnail size: 10153 bytes COM marker comment: CREATOR: gd-jpeg v1.0 (using IJG JPEG v90), default quality ? Image cotains XMP section, 14753 bytes long 9?http://ns.adobe.com/xap/1.0/?? Microsoft Photo Gallery 16.4.3528.33120.144259, 0.358824, 0.065751, 0.098529? ???????0.211973, 0.294118, 0.023553 , 0.035294? ???????0.350343, 0.423529, 0.056919 , 0.085294xc? ???????0.352306, 0.300000, 0.023553 , 0.035294? ???????0.395486, 0.304412, 0.047105 , 0.070588? ???????0.823356, 0.560294, 0.095191 , 0.142647? ???????? ?????? ???25edgf? ???edgf? ???? Approximate quality factor for qtable 0: 75 (scale 50.51, var 0.81) Approximate quality factor for qtable 1: 75 (scale 50.52, var 0.19) JPEG image is 1019w * 680h, 3 color components, 8 bits per sample File name : C:\Users\joseph.azzam1\Desktop\Highres\sample.jpg File size : 110626 bytes File date : 2015:07:01 13:29:21 Date/Time : 2015:06:30 15:39:28 Resolution : 1019 x 680 Comment : CREATOR: gd-jpeg v1.0 (using IJG JPEG v90), default quality Comment : ? 
+0

Ваш ZIP-файл - это скриншот выше, а не файл 'sample-copy.jpg'. –

+0

На самом деле, zip-файл содержит изображение выше, но с тегом, который я пытаюсь прочитать, так что это 2 в 1 специальном :) –

ответ

0

Я думаю, что информация, которую вы ищете, может быть в формате XML как PersonDisplayName, если смотреть на него с jhead -v, как это:

jhead -v YourImage.jpg 

JFIF SOI marker: Units: 1 (dots per inch) X-density=96 Y-density=96 
Jpeg section marker 0xee size 14 
Exif header 15200 bytes long 
Exif section in Motorola order 
(dir has 3 entries) 
    DateTime = "2015:07:02 13:48:49" 
    ExifOffset = 2130 
    Exif Dir:(dir has 1 entries) 
     Unknown Tag ea1c Value = "?Í?" 
    Unknown Tag ea1c Value = "?Í?" 
    Continued directory (dir has 6 entries) 
     Compression = 6 
     XResolution = 96/1 
     YResolution = 96/1 
     ResolutionUnit = 2 
     ThumbnailOffset = 4304 
     ThumbnailLength = 10887 
Thumbnail size: 10887 bytes 
Jpeg section marker 0xe2 size 3160 
Image cotains XMP section, 13513 bytes long 
4?http://ns.adobe.com/xap/1.0/?<?xpacket begin='???' id='W5M0MpCehiHzreSzNTczkc9d'?>? 
<x:xmpmeta xmlns:x="adobe:ns:meta/"><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
><rdf:Description rdf:about="uuid:faf5bdd5-ba3d-11da-ad31-d33d75182f1b" xmlns:xmp="http://ns.adobe.c 
om/xap/1.0/"><xmp:CreatorTool>Microsoft Photo Gallery 16.4.3528.331</xmp:CreatorTool></rdf:Descripti 
on><rdf:Description rdf:about="uuid:faf5bdd5-ba3d-11da-ad31-d33d75182f1b" xmlns:MP="http://ns.micros 
oft.com/photo/1.2/"><MP:RegionInfo><rdf:Description xmlns:rdf="http://www.w3.org/1999/02/22-rdf-synt 
ax-ns#"><MPRI:Regions xmlns:MPRI="http://ns.microsoft.com/photo/1.2/t/RegionInfo#"><rdf:Bag xmlns:rd 
f="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:li><rdf:Description xmlns:rdf="http://www.w3.or 
g/1999/02/22-rdf-syntax-ns#"><MPReg:Rectangle xmlns:MPReg="http://ns.microsoft.com/photo/1.2/t/Regio 
n#">0.640479, 0.324515, 0.186418, 0.246914</MPReg:Rectangle><MPReg:PersonDisplayName xmlns:MPReg="ht 
tp://ns.microsoft.com/photo/1.2/t/Region#">xc</MPReg:PersonDisplayName></rdf:Description>? 
???????</rdf:li></rdf:Bag>? 
?????</MPRI:Regions></rdf:Description>? 
???</MP:RegionInfo></rdf:Description></rdf:RDF></x:xmpmeta>? 

Approximate quality factor for qtable 0: 98 (scale 3.50, var 4.81) 
Approximate quality factor for qtable 1: 98 (scale 3.16, var 0.50) 
JPEG image is 751w * 567h, 3 color components, 8 bits per sample 
File name : TWblHuo.jpg 
File size : 253697 bytes 
File date : 2015:07:02 13:48:50 
Date/Time : 2015:07:02 13:48:49 
Resolution : 751 x 567 
+0

Я злюсь, но я не понял, как использовать ваш ответ, какой язык " head -v "или" jhead -v ", это php? если нет, то как я могу использовать его с php? где я могу написать этот код? –

+0

Извините, я думал, что это довольно стандартный, известный инструмент командной строки. Вы получите его здесь ... http://www.sentex.net/~mwandel/jhead/. Вы просто вводите команду в свой терминал. Вы можете вызвать его из PHP с помощью вызова типа system() '. Могут быть другие инструменты, которые вы можете использовать, если это показывает способ поиска данных, которые вы ищете. Я имею в виду, что это может быть не полный ответ, он может просто дать вам или другим указателю относительно того, где поле скрыто/закодировано в изображении. НТН. –

+0

Спасибо, это сработало, поле отображается, мне просто нужно отфильтровать его. –