ďťż

[php] wyciąganie ze zdjęcia danych XMP

       

Podstrony


telcocafe

Czy można wyciągnąć ze zdjęcia dane XMP tak jak jest to pokazane tu:
http://img251.images...stationdane.gif

działa wam ten kod?
http://photography-o...xmp_to_exif.php
bo mi nie
znalazłem gotowe skrypty, tylko za bardzo skomplikowane bo ja chce tylko wyciągnąć wymiary i słowa kluczowe i mieć je w tablicy.
na serwerze też szwankuje, a żadnych błędów nie ma.

znalazłem sporo bibliotek ale są za bardzo rozbudowane i nie mogę z nich wyciągnąć tylko potrzebnych mi danych
chciałem aby słowa kluczowe były w 1 tablicy i np. $slowo[1]; wyświetlało mi 1 słowo
mam też taki kod
<? ob_start(); $image = 'test.jpg'; $content = file_get_contents($image); $xmp_data_start = strpos($content, '<x:xmpmeta'); $xmp_data_end = strpos($content, '</x:xmpmeta>'); $xmp_length = $xmp_data_end - $xmp_data_start; $xmp_data = substr($content, $xmp_data_start, $xmp_length + 12); $xmp = simplexml_load_string($xmp_data); echo $xmp[0]; ob_end_flush();
ale dostaje takie błędy
Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 1: parser error : Start tag expected, '<' not found in D:\Serv\www\PHP_JPEG_Metadata_Toolkit_1.11\b.php on line 10 Warning: simplexml_load_string() [function.simplexml-load-string]: ˙Ř˙ŕ in D:\Serv\www\PHP_JPEG_Metadata_Toolkit_1.11\b.php on line 10 Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in D:\Serv\www\PHP_JPEG_Metadata_Toolkit_1.11\b.php on line 10
patrzałem na innym obrazku to w o ogóle nic się nie pokazało



Lepiej przejechać cały plik biblioteką DOM, jeżeli SimpleXML nie daje rady. Musiałbym zobaczyć zawartość pliku XMP, aby wybrać odpowiednią metodę. Nie mogę znaleźć w sieci przystępnej specyfikacji.

dzięki za odpowiedź
to mówisz że zależy to od zdjęcia?
co mam podać? przykładowe zdjęcie dałem
jak mam użyć DOM w tym?

Rzeczywiście dane są wewnątrz pliku graficznego. Algorytm jest taki:

1. Sprawdź, czy dane XMP w ogóle istnieją - strpos() musi zwrócić dokładnie FALSE
2. Wczytaj dane XMP - w powyższy sposób albo za pomocą wyrażeń regularnych
3. Wsadź do SimpleXML albo do DOM

Zacznijmy od debugowania. Co zawiera zmienna $xmp_data oraz $xmp_length?



ok
pisałem też na innym forum
zobacz co tu zrobiłem:
http://forum.webhelp...ic.php?p=925356

Pokazujesz nam, co zwróci linijka kodu:var_dump($xmp_data, $xmp_length);Wtedy będziemy mogli Tobie pomóc, a może sam dojdziesz do wniosków.
Użytkownik Ferrari edytował ten post 12 lipiec 2010, 07:55
Ja bym to przerobił w ten sposób:<?php ob_start(); $image = 'test.jpg'; $content = file_get_contents($image); $xmp_data_start = strpos($content, '<x:xmpmeta') - strlen('<x:xmpmeta'); $xmp_data_end = strpos($content, '</x:xmpmeta>') + strlen('</x:xmpmeta>'); $xmp_length = $xmp_data_end - $xmp_data_start; $xmp_data = substr($content, $xmp_data_start, $xmp_length + 12); $xmp = simplexml_load_string($xmp_data); echo $xmp[0]; ob_end_flush();
Możesz też wykorzystać dostępne rozwiązania, np., http://www.ozhiker.c...pjmt/index.html

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.