Alex Dias 0 Denunciar post Postado Setembro 28, 2011 Boa Noite! Amigos, estou em busca de uma forma de desenvolver um Script PHP que consiga extrair informações das propriedades de uma imagem como: Descrição, Origem, Imagem e outros, aquelas informações quando clicamos do lado direito do mouse sobre a imagem. Exemplo do que desejo extrair com PHP são essa informações disponíveis na imagem abaixo: Será que existe essa possibilidade? Desde já agradeço a atenção dos amigos no fórum a me ajudar nessa missão. Muito Obrigado a todos! Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Setembro 28, 2011 Dá uma olhada nas Funções de EXIF Requer a biblioteca EXIF instalada mas, pelo menos essa, é uma extensão mais comum de se encontrar nos servidores. Se a extensão for uma problema, no PHPClasses tem um projeto que lê as informações EXIF da imagem SEM a necessidade da extensão, istoé, lendo e interpretando cada byte do arquivo. Compartilhar este post Link para o post Compartilhar em outros sites
Alex Dias 0 Denunciar post Postado Setembro 29, 2011 Obrigado Bruno Augusto pela dica, ainda estou em busca de uma solução menos complicada. obrigadão. Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Setembro 29, 2011 Menos complicada em que sentido? Com a biblioteca exif_read_data() basta passar o arquivo. Compartilhar este post Link para o post Compartilhar em outros sites
Alex Dias 0 Denunciar post Postado Setembro 30, 2011 Em primeiro lugar quero agradecer ao nosso amigo Bruno Augusto, sua ajuda foi extraordinariamente importante, tenho 80% de minha dúvida solucionada, o restante de 20% é referente a informações como TÍTULO, ASSUNTO,MARCA e COMMENTÁRIO que eu ainda não conseguir extrair da imagem. Segue abaixo as informações que faltam para solucionar minhas dúvidas. Abaixo segue o Script PHP e a imagem que desejo extrair os dados como: TÍTULO, ASSUNTO,MARCA e COMMENTÁRIO. <?php echo "garca.jpg:<br />\n"; $exif = exif_read_data('20100306__MG_3213.jpg', 'IFD0'); echo $exif===false ? "No header data found.<br />\n" : "Image contains headers<br />"; $exif = exif_read_data('garca.jpg', 0, true); echo "garca.jpg:<br />\n"; foreach ($exif as $key => $section) { foreach ($section as $name => $val) { echo "$key.$name: $val<br />\n"; } } ?> IMAGEM EM QUESTÃO Desde já agradeço a ajuda dos amigos do forum. Um ótimo final de semana. Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Setembro 30, 2011 Experimenta trocar o segundo parâmetro da função. De repente aparecem mais dados... Compartilhar este post Link para o post Compartilhar em outros sites
Kakashi_Hatake 267 Denunciar post Postado Outubro 1, 2011 Não sei se você vai conseguir obter mais informações desta imagem. :ermm: <?php var_dump( exif_read_data( 'garca.jpg' ) ); Saída array 'FileName' => string 'garca.jpg' (length=9) 'FileDateTime' => int 1317435560 'FileSize' => int 120851 'FileType' => int 2 'MimeType' => string 'image/jpeg' (length=10) 'SectionsFound' => string 'ANY_TAG, IFD0, THUMBNAIL, EXIF' (length=30) 'COMPUTED' => array 'html' => string 'width="480" height="320"' (length=24) 'Height' => int 320 'Width' => int 480 'IsColor' => int 1 'ByteOrderMotorola' => int 1 'ApertureFNumber' => string 'f/5.6' (length=5) 'FocusDistance' => string '30.30m' (length=6) 'Copyright' => string '(C)Amarildo Oliveira' (length=20) 'Thumbnail.FileType' => int 2 'Thumbnail.MimeType' => string 'image/jpeg' (length=10) 'ImageDescription' => string 'Especie encontrata na Amazonia.' (length=31) 'Make' => string 'Canon' (length=5) 'Model' => string 'Canon EOS DIGITAL REBEL XS' (length=26) 'XResolution' => string '72/1' (length=4) 'YResolution' => string '72/1' (length=4) 'ResolutionUnit' => int 2 'Software' => string 'Adobe Photoshop Lightroom 3.3' (length=29) 'DateTime' => string '2011:09:23 00:17:58' (length=19) 'Artist' => string 'Amarildo Oliveira' (length=17) 'Copyright' => string '(C)Amarildo Oliveira' (length=20) 'Exif_IFD_Pointer' => int 318 'THUMBNAIL' => array 'Compression' => int 6 'XResolution' => string '72/1' (length=4) 'YResolution' => string '72/1' (length=4) 'ResolutionUnit' => int 2 'JPEGInterchangeFormat' => int 948 'JPEGInterchangeFormatLength' => int 6498 'ExposureTime' => string '1/250' (length=5) 'FNumber' => string '56/10' (length=5) 'ExposureProgram' => int 2 'ISOSpeedRatings' => int 200 'UndefinedTag:0x8830' => int 0 'ExifVersion' => string '0221' (length=4) 'DateTimeOriginal' => string '2010:03:06 14:46:50' (length=19) 'DateTimeDigitized' => string '2010:03:06 14:46:50' (length=19) 'ShutterSpeedValue' => string '7965784/1000000' (length=15) 'ApertureValue' => string '4970854/1000000' (length=15) 'ExposureBiasValue' => string '1/3' (length=3) 'MaxApertureValue' => string '5/1' (length=3) 'SubjectDistance' => string '303/10' (length=6) 'MeteringMode' => int 2 'Flash' => int 16 'FocalLength' => string '400/1' (length=5) 'SubSecTimeOriginal' => string '02' (length=2) 'SubSecTimeDigitized' => string '02' (length=2) 'FocalPlaneXResolution' => string '3888000/876' (length=11) 'FocalPlaneYResolution' => string '2592000/583' (length=11) 'FocalPlaneResolutionUnit' => int 2 'CustomRendered' => int 0 'ExposureMode' => int 0 'WhiteBalance' => int 1 'SceneCaptureType' => int 0 'UndefinedTag:0xA431' => string '1940409034' (length=10) 'UndefinedTag:0xA432' => array 0 => string '100/1' (length=5) 1 => string '400/1' (length=5) 2 => string '0/0' (length=3) 3 => string '0/0' (length=3) 'UndefinedTag:0xA434' => string 'EF100-400mm f/4.5-5.6L IS USM' (length=29) Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Outubro 1, 2011 Pode ser que seja a mesma coisa que a biblioteca EXIF, mas pode ser que não também. Mas ainda assim, exprimenta essa tal de PEL Como o próprio autor diz, não é algo direcionado à usuários e sim a programadores, com várias classes e métodos para extrair, analisar, ler e até alterar as informações da imagem. Compartilhar este post Link para o post Compartilhar em outros sites
Alex Dias 0 Denunciar post Postado Outubro 4, 2011 Experimenta trocar o segundo parâmetro da função. De repente aparecem mais dados... Olá Bruno Augusto, troque o segundo parâmetro e os resultados continuam o mesmo! Não sei se você vai conseguir obter mais informações desta imagem. :ermm: <?php var_dump( exif_read_data( 'garca.jpg' ) ); Saída array 'FileName' => string 'garca.jpg' (length=9) 'FileDateTime' => int 1317435560 'FileSize' => int 120851 'FileType' => int 2 'MimeType' => string 'image/jpeg' (length=10) 'SectionsFound' => string 'ANY_TAG, IFD0, THUMBNAIL, EXIF' (length=30) 'COMPUTED' => array 'html' => string 'width="480" height="320"' (length=24) 'Height' => int 320 'Width' => int 480 'IsColor' => int 1 'ByteOrderMotorola' => int 1 'ApertureFNumber' => string 'f/5.6' (length=5) 'FocusDistance' => string '30.30m' (length=6) 'Copyright' => string '(C)Amarildo Oliveira' (length=20) 'Thumbnail.FileType' => int 2 'Thumbnail.MimeType' => string 'image/jpeg' (length=10) 'ImageDescription' => string 'Especie encontrata na Amazonia.' (length=31) 'Make' => string 'Canon' (length=5) 'Model' => string 'Canon EOS DIGITAL REBEL XS' (length=26) 'XResolution' => string '72/1' (length=4) 'YResolution' => string '72/1' (length=4) 'ResolutionUnit' => int 2 'Software' => string 'Adobe Photoshop Lightroom 3.3' (length=29) 'DateTime' => string '2011:09:23 00:17:58' (length=19) 'Artist' => string 'Amarildo Oliveira' (length=17) 'Copyright' => string '(C)Amarildo Oliveira' (length=20) 'Exif_IFD_Pointer' => int 318 'THUMBNAIL' => array 'Compression' => int 6 'XResolution' => string '72/1' (length=4) 'YResolution' => string '72/1' (length=4) 'ResolutionUnit' => int 2 'JPEGInterchangeFormat' => int 948 'JPEGInterchangeFormatLength' => int 6498 'ExposureTime' => string '1/250' (length=5) 'FNumber' => string '56/10' (length=5) 'ExposureProgram' => int 2 'ISOSpeedRatings' => int 200 'UndefinedTag:0x8830' => int 0 'ExifVersion' => string '0221' (length=4) 'DateTimeOriginal' => string '2010:03:06 14:46:50' (length=19) 'DateTimeDigitized' => string '2010:03:06 14:46:50' (length=19) 'ShutterSpeedValue' => string '7965784/1000000' (length=15) 'ApertureValue' => string '4970854/1000000' (length=15) 'ExposureBiasValue' => string '1/3' (length=3) 'MaxApertureValue' => string '5/1' (length=3) 'SubjectDistance' => string '303/10' (length=6) 'MeteringMode' => int 2 'Flash' => int 16 'FocalLength' => string '400/1' (length=5) 'SubSecTimeOriginal' => string '02' (length=2) 'SubSecTimeDigitized' => string '02' (length=2) 'FocalPlaneXResolution' => string '3888000/876' (length=11) 'FocalPlaneYResolution' => string '2592000/583' (length=11) 'FocalPlaneResolutionUnit' => int 2 'CustomRendered' => int 0 'ExposureMode' => int 0 'WhiteBalance' => int 1 'SceneCaptureType' => int 0 'UndefinedTag:0xA431' => string '1940409034' (length=10) 'UndefinedTag:0xA432' => array 0 => string '100/1' (length=5) 1 => string '400/1' (length=5) 2 => string '0/0' (length=3) 3 => string '0/0' (length=3) 'UndefinedTag:0xA434' => string 'EF100-400mm f/4.5-5.6L IS USM' (length=29) Amigo, nada ainda, o resultado continua o mesmo, vamos continuar a pesquisar, assim que eu conseguir vou postar tudo aqui, isso vai ser importante de mais pra muita gente que trabalha como fotógrafo e utiliza Photoshop para inserir informações na imagem. Essa função vai ser importante na hora de fazer o upload das fotos para o website donde as informações das propriedades das imagem vão para o MySQL de forma simples e fácil sem necessidade de preencher formulário. Abraços amigo, vamos continuar pensando! Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Outubro 4, 2011 Esse parser conseguiu ler essas tags do Photoshop, mas o código é um tanto quanto bagunçado e alguns dos muitos arquivos ainda estão com as tags de abertura curtas (<?). Mas se você quer a funcionalidade, ele retorna MUITAS informações (mesmo!). Compartilhar este post Link para o post Compartilhar em outros sites
Kakashi_Hatake 267 Denunciar post Postado Outubro 4, 2011 @Breno :lol: , não resisti. @bruno Você é um garimpeiro de primeira :joia: Compartilhar este post Link para o post Compartilhar em outros sites