• Super User

    Leggere proprietà delle immagini

    Ciao a tutti,
    ho creato uno scriptino che mi permette di fare l'upload di immagini, e fin qui nessun problema.

    Vorrei però riuscire a leggere in automatico le proprietà di tali files (keywords, autore, etc...): è possibile? Quale funzione?

    Ho guardato la $_FILES ma non mi pare giusta...


  • User

    Ciao, prova con la funzione getimagesize()

    us2.php.net/manual/en/function.getimagesize.php


  • Super User

    @Blancks said:

    getimagesize()
    Grazie, è un qualcosa, ma mi serve anche altro.
    La GetImageSize mi da come risultati Array ( [0] => 450 [1] => 267 [2] => 2 [3] => width="450" height="267" [bits] => 8 [channels] => 3 [mime] => image/jpeg ), a me serve anche Autore e KeyWord.

    Per ora cmq grazie! 😉


  • User

    Come keyword per l'immagine devi farle assegnarle un nome pertinente al contenuto (possibilmente non eccessivamente lungo).

    Se prevedi di eseguire l'upload di molte immagini ed allora è facile che i nomi possano essere replicati li sostituisci, ovvero crei un form in cui introdurre img da uploadare e nome dell'autore in un campo testuale.

    Una volta spedito il form generi un id alfanumerico casuale unico per l'immagine ed ora, una volta fatto ciò, sostituisci il nome con l'id e il nome originario lo scindi e ottieni delle keywords: il tutto poi, unitamente al dato dell'autore, lo archivi in un database.

    A questo punto, puoi organizzarti per fare una ricerca di keywords e quando vuoi aprire la pagina che ti mostra i dati di un immagine recuperi in base all'id sia il link dell'immagine che i dati che la riguardano.


  • Super User

    No, non ci siamo capiti...

    So come strutturare il database e lo script vario, solo ho 15'000 immagini già catalogate su pc che nel campo proprietà (tasto dx sul file, proprietà) hanno delle keyword e il nome dell'autore, che devo riuscire a leggere in PHP.


  • User

    Perdonami allora, avevo inteso tutt'altra cosa, meglio che me ne filo a dormire vah 🙂

    Comunque, l'unica soluzione che mi viene in mente allora è l'estensione exif, di cui in particolare exif_read_data() che dovrebbe fare al caso tuo.

    Più che la conoscenza prettamente teorica di questo modulo non mi sono mai ritrovato ad utilizzarlo praticamente.
    Eventualmente fammi sapere come va 😉


  • Super User

    Grazie mille, oggi le provo e poi ti dico!


  • Super User

    Purtroppo ancora niente...
    Ho fatto un test qui: demosia.8s8.it/test/test.php

    Questo il codice della pg test.php:

    <?
    echo '<img src="pir0084.jpg" />';
    $size = exif_imagetype("pir0084.jpg");
    echo '<br /><strong>exif_imagetype</strong><br />';
    print_r($size);
    echo '<br />----------------------------------------------<br />';
    $size = exif_read_data("pir0084.jpg");
    echo '<strong>exif_read_data</strong><br />';
    print_r($size);
    echo '<br />----------------------------------------------<br />';
    $size = exif_tagname("pir0084.jpg");
    echo '<strong>exif_tagname</strong><br />';
    print_r($size);
    echo '<br />----------------------------------------------<br />';
    $size = exif_thumbnail("pir0084.jpg");
    echo '<strong>exif_thumbnail</strong><br />';
    print_r($size);
    echo '<br />----------------------------------------------<br />';
    $size = read_exif_data("pir0084.jpg");
    echo '<strong>read_exif_data</strong><br />';
    print_r($size);
    ?>

    Son disposto a pagare se qualcuno mi riesce a leggere i metadati dell'immagine!


  • Super User

    Funziona!! 😄
    ...avevo caricato l'unica immagine che non conteneva i dati! 😛 😛

    Grazie mille!!


  • User

    Cose che capitano 😄

    Di nulla comunque, anzi l'esperienza è servita anche a me per spulciarmi meglio questo modulo. 🙂


  • Super User

    Ciao gente, riporto d'attualità questo 3D, in quanto ho un problema: con la soluzione sopra descritta ottengo senza problemi le KeyWords di immagini create con Photoshop su Windows, ma se utilizzo immagini create con Photoshop su MAC non ottengo il risultato voluto...

    Questo il risultato della exif_read_data() su 3 file, il primo creato con WinXP, il secondo con MAC con estensione JPG, il terzo con MAC ed estensione TIFF.

    Che fare???

    Risultato File creato su Win:

    1. : FileName - pir0084.JPG
    2. : FileDateTime - 1299512355
    3. : FileSize - 27473
    4. : FileType - 2
    5. : MimeType - image/jpeg
    6. : SectionsFound - ANY_TAG, IFD0, EXIF, WINXP
    7. : COMPUTED - Array
    8. : Artist - Teo
    9. : Exif_IFD_Pointer - 2158
    10. : Title - Titolo
    11. : Author - Teo
      12) : Keywords - ParolaChiave;Par2
    12. : Subject - Oggetto
    13. : UndefinedTag:0xEA1C - ê

    Risultato File JPG creato su MAC:

    1. : FileName - pir0125.JPG
    2. : FileDateTime - 1299512527
    3. : FileSize - 71464
    4. : FileType - 2
    5. : MimeType - image/jpeg
    6. : SectionsFound - ANY_TAG, IFD0, THUMBNAIL, EXIF
    7. : COMPUTED - Array
    8. : ImageWidth - 450
    9. : ImageLength - 359
    10. : BitsPerSample - Array
    11. : PhotometricInterpretation - 2
    12. : Orientation - 1
    13. : SamplesPerPixel - 3
    14. : XResolution - 720000/10000
    15. : YResolution - 720000/10000
    16. : ResolutionUnit - 2
    17. : Software - Adobe Photoshop CS5 Macintosh
    18. : DateTime - 2011:03:07 16:41:50
    19. : Exif_IFD_Pointer - 232
    20. : THUMBNAIL - Array
    21. : ExifVersion - 0221
    22. : ColorSpace - 65535
    23. : ExifImageWidth - 450
    24. : ExifImageLength - 359

    Risultato File TIFF creato su MAC:

    1. : FileName - dfa0042_11.tif
    2. : FileDateTime - 1299513833
    3. : FileSize - 1535060
    4. : FileType - 8
    5. : MimeType - image/tiff
    6. : SectionsFound - ANY_TAG, IFD0, EXIF
    7. : COMPUTED - Array
    8. : NewSubFile - 0
    9. : ImageWidth - 500
    10. : ImageLength - 755
    11. : BitsPerSample - Array
    12. : Compression - 1
    13. : PhotometricInterpretation - 5
    14. : StripOffsets - 25014
    15. : Orientation - 1
    16. : SamplesPerPixel - 4
    17. : RowsPerStrip - 755
    18. : StripByteCounts - 1510000
    19. : XResolution - 3000000/10000
    20. : YResolution - 3000000/10000
    21. : PlanarConfiguration - 1
    22. : ResolutionUnit - 2
    23. : Software - Adobe Photoshop CS5 Macintosh
    24. : DateTime - 2011:01:10 17:49:21
    25. : ExtensibleMetadataPlatform - adobe:docid:photoshop:8aa7b84e-4ad8-11d9-8bf8-928d1ef51aa0 xmp.iid:92FDD6DE0720681195FEF0B6D9E15E32 adobe:docid:photoshop:8aa7b84e-4ad8-11d9-8bf8-928d1ef51aa0 saved xmp.iid:92FDD6DE0720681195FEF0B6D9E15E32 2011-01-10T17:49:21+01:00 Adobe Photoshop CS5 Macintosh / 2011-01-10T17:49:21+01:00 Adobe Photoshop CS3 Macintosh 2004-12-08T11:15:25+01:00 2011-01-10T17:49:21+01:00 image/tiff ricamo punto croce pannello casa chiave interno portachiavi 4 True Print
    26. : IPTC/NAA - Z%Gricamopunto crocepannellocasachiaveinternoportachiavi
    27. : ImageResourceInformation - 8BIM%̳)µÕïtimeObjcnull numeratorlongdenominatorlongXdurationObjcnull numeratorlongpdenominatorlongX workInTimeObjcnull numeratorlongdenominatorlongXworkOutTimeObjcnull numeratorlongpdenominatorlongXLCntlongglobalTrackListVlLs hasMotionbool8BIM4FnullVrsnlongsheetTimelineOptionsVlLs8BIM8BIMIóô dfa0042_11ôónullboundsObjcRct1Top longLeftlongBtomlongóRghtlongôslicesVlLsObjcslicesliceIDlonggroupIDlongoriginenumESliceOrigin autoGeneratedTypeenum ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlongóRghtlongôurlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT horzAlignenumESliceHorzAligndefault vertAlignenumESliceVertAligndefaultbgColorTypeenumESliceBGColorTypeNone topOutsetlong leftOutsetlongbottomOutsetlongrightOutsetlong8BIM(?ð8BIM8BIM8BIM×j @È»ÿØÿíAdobe_CMÿîAdobed€ÿÛ„ ÿÀ j"ÿÝÿÄ? 3!1AQa"q?2‘¡±B#$RÁb34r‚ÑC%’Sðáñcs5¢²ƒ&D“TdE£t6ÒUâeò³„ÃÓuãóF'”¤…´•ÄÔäô¥µÅÕåõVfv†–¦¶ÆÖæö7GWgw‡—§·Ç×ç÷5!1AQaq"2?‘¡±B#ÁRÑð3$bár‚’CScs4ñ%¢²ƒ&5ÂÒD“T£dEU6teâò³„ÃÓuãóF”¤…´•ÄÔäô¥µÅÕåõVfv†–¦¶ÆÖæö'7GWgw‡—§·ÇÿÚ?µû.û.©ÕŒp4sé·xoÒ}Žc›±Ï¯ÐÓVnÇÍæUOÙX ¥ûku®ÜÆØÃEmýLwéëÉý%^µõ¸ôî¯&#8225;&#8220;ºÆUh,hö:²Æh!ÏûD¾«vÛ³në&#8482;é&#8222;ÿ´³zk2ú[úe?p¤&#8224;¾\nÛþ&#8226;¯±µúOüÿNßô&#8249;:Ϻk»kJÑå²²úH}&#8221;5ô>ú&#339;c+&#381;Ç_Oj'üßÈÈ w£UuÙY{ZÃ'i}Ms}&#381;k.?ç¿Ié8±íû ýS§b:±—{m±&#8220;ea?M{ÙëÙ¥E[1ÿë_×]vMvtTëw5ÎõÑîsm~ǽ¹ØÇ1ÍÝÿ¤&#339;&#338;@#r6+@&#8220;ôzlg4±¶$¸¸&#8220;$mp&#339;Ý¿&#339;ïÜÿÿª:êqzÕâÛ@ 3ðÚÇOõæ±êÐqdz}ä&#8225;Úç?Ï&#8216;¼í«Ók=FÔÆýgü_éVfcý{mÉ©þ&#8211;.O¥cÚdX aæÛjúuÑkÜê=ûÙéUüßú6c&#352;ò]¾¯&#8225;&#8226;iôÝ£ npgº&#353;än}Õú?}&#8226;ÿ&#402;¯ô&#376;A3_[ÉÛØn22²F6MvSc*¤²·ºßLÌÝéú? pÙí²&#8211;z?ð£ýÇ£U&#8224;1íyyTò/yµµz&#381;{¡&#381;w¤Öm{+õ?ã&#8225;]Pê5Í ?AÔ¨*_M*½¥µ¸&#381;=* iä]ÿM«×mp$L‘i Scn‹/«c5•;v>¨Úþ ÏÒ1ûŸMiÐÿV¦\ØÙ¬&#381;ìpkØÿí5ê¯Wfúñé?FÛëkþîBCD?Üü?eö×eÛqí#í;4tXÿø &#382;§¢æ]oø*ýjÙüêÕý?gýÌÈú^§Ò?O÷¾&#8212;þüÚ6 *×¼mîs&#339;îñ¹Ûéú?þÚ³púoê&#382;/U}ÿÑæ&#376;Õ«ÍŽ·ÐEy6n·Væ°ïmMp³v9µ\÷×ùÿá}4øâf[U&#8482;#í³í³,n#ÔÞH¥Ö&#8224;º»,±×³ÿf÷×èâý¢Ï[é§éÿVîêy¬®¬¦ãaÜÇ5¡&#338;}·¸2]}^&#381;Æþ&#8211;&#8250;+Ø÷Zú)g§ú?ð~¡z¯LÏú³UyfEU¹&#8226;äW ¸íúÕ·~5ìõl÷Ù[êþjÏWÔUɉôÄÔºéf”å2†ïsŠÌŸ?‹peuãSX{ rÁ0ÍX=÷d9»þ‡¥eŸá?ÂX£Q¦â:?¦üqk}µØX]°íscª/gÓnúýÿá?ël󮃃öþµ[3ì&ÖîÈn ‘êÑC«¶ÀXúìµ–þ“Óý;?™^—nKSö¼ÖÑ Ü@sœÆþg¨ï~ßßLö„ ׊÷þÅ t ¶-˜×‡{aÚó[à ëívÇ¿?ÿM¬i???°¾¬eÕ}¶¿*ÀÜÝïÃǨ&#8224;°hØtô&#353;ÖY·Ý¹ßàÿEZßs71í?9Õ.ë&#732;Tü{ê«´9í¹?x.rv&#402;¹L&#8224;1¥Ç@5&U**¾¼Úë¯ÑªÁt9äQ°7ô[œÿNËw~—þhº°ö?@>GT‚‹MÝK¦¶ÿA÷ŠìÜwn Þá¹µ>èôg¹Ÿ£}›ýìDê{NÂæ;í44êG65»\ßÝܱ.Ý~m8ÛR·%s߸¾§Û¿Ógé¬Ûk,é_]9™þ•›ÝE»q¨h'Ù‘ŒÐ]«´¶¶8þsÿy%R^ž'§â’ šš&#381;ÖnK¨ãÙn1uF-¤‹k?Êg½¿‘K§4ŒpD86;îºU§V[«<=¥§XÐ?¼¤B.‹S§äß’\Kkm h?³¸<ûÜßs¾ƒšïR¯góV}5v?"¥ÑÛÏ$òkcÁìú«m6³oò,kÕøMׂ×iÄÿÿÒ£õ"†ZêKhmž°—=â«bÖgmt;{7¶¿Rªý/VïçýFzç×>£]Í£¤SuM²»…™ ½Õ¸>˶Ö7ìþ·ë,³ôO}›ÿ?ôÿÂry6×VCÃc¼\6çípõ]?söooéœ÷þ}®‘Ò*{kHôÙvÑ.hq£¶Ÿô{^ÏeŽõ•YÄî“]‡÷™5T¯«?gg[µ¸¥þ¤4[ö?>Ó‹-d~Ÿ×õ¶{ígþ ½0?xìa“ß³{¯<ècýdȶ«šNÖ›« Úâ}ØÇo²·¶¸®‹?™üô‹™èÖ6#A´ü F©Ò×^à&;}¯-õfŒ¯±ï½ÎËÃÉÈ¿ì C@6¨Èsöû÷9ŸÍ6ÏÌZýP9†¼G8Y¸ÁØà¶w²‹^ßFÇ·nïk–…8x˜?s±)e.y.{˜Ø.q&ÇoÓs}Goعî“]ÏêÕVúÁµ†ÏR£þ[ï¿ÑfïÐ6í›êÙüçø?çmL4;êz2 ~?¿ÐžÛ[nUÛèôØò÷VòæXIc(n×û~ÐûÏeßCü"×ÇÏÄÉ{ê¥äÛX—1Ì{${w>¿Y•úµ~’¿ÒWþ‘N¼\p?šn¢ƒP{½s¿V.pë9Øo%ï©ö´YcœçzM-×Q±ÏÚڜݻ?q¯åjß’ÝGÒé½O ¸ p2›{)%å¯õkZÿk6ÕôëßÿZÙ³:Ž£Ò1óñ‹?M÷c½…¦El÷4û÷7÷•«ú^IÝ‘P°ËO»ùmoõw³ÞÏðŒý?Q*•TÆÖÆ[FÖ1¡*u_E&#338;ÚÆ£Z &#8250;¤ý0FMîÂæ;¼&#8211;?³»ó½ªØ ¯Ll°ìö-vÇ7ùà"‚Õ€„O)á<'Óø|ÒSÿÓäºux™XYoi¶û ´e‚LÚE•ÓNëXÚñý±ÝüïóµÝ_ú%?OÛp²œL?IÖTÃt?Óso¤}]Ÿ¥§ÕúȶÊV?ù}+u•Ñ‘E6ÑnÁº¶¹Ø¥Îkjö>íözÞµ?Î}¢ÊÖ§Õk±z…„†s}:©Ç,nÐ繎m®Èvç×üÃ[??ŒÏ´Óú,zÿá+QH‘Þ&´èº? ^®ÕJr«ë÷Œ°ÿU•vó$¹—Q¹?²]ùÌ÷¯T¸?ab#?ì¯9ú³Y»©?(Zn¡ŒnÓavãnE•çÛÚÝïc_®ÿð×5ê/B}¯{î!¥Â‡ÚÐw†?p÷7éú‰²6WÄPf€N’¹§]‹ev’ÚËâCÀ!Ì‹˜gï1´nŸ¦ömÕ‚ËCØ·Õ·nŸšŽnœÃ?Çtv0nÈvüÕi¨”/ Gå”ð—÷¤§ÿÔã³ïŶº›³Ûxmîmgk¾[uLݹíôlö{¿1oôê©£×a»s?Ùc©ÝX—6Áú+l{^ïk>žïѬξˆî?†êËñÚæddC^ÇÞïBŸê6š½fný'é–ÑÆ?²ëÃÂkÝmÂÓyi€Ñ¸ÔÝÛ?¶¿Q?»k|”"5áÔèÉÝSÓñzvcèÅnÊÅÕ<9Ï&ÒÝ¿JÍÎÿCé7ù¿ê-ÜÙd@,lv?¤²sr±¯Ïcét’hÛí2_[E Ýû¯{óâÒêö=¹Meuú–ÝéÒÆN›Ÿ¿ÝaÛgèêk¿mv 6A^‹».ÖûCµŽÇᢠc|s:†M–^ðì{ª õª»ÜàÆÆUuïw·oó™×ÿm{Ö“ 8pà>nEKŠ÷@?Áî?ëûªM&#710;&#8222;·6¿QÅ?4cØ)²ènÀç&#8211;&#8249;??Ôs(¶ê*±þ&#376;ÓèýOFÕkk&#8224;?Ä&#8225;$¦-©®pqñà%C=Œ7,m "§h@Ð…;.èLo?A! .ße?sXÆïÙNÿß¹C¨YëtŒË5E’ µÁ¾ö9Žúcǽˆ‘¡òPÜ6º~¸¶;€rn€y¥¼ºgâ5WÀ!ØÖ˜ƒö›e¼ÁÞóÿOvõe¨.›ÿ' J3ÿŸv¤§ÿÕÎÊÉéyƒœ÷WkYµÏÈl?ëEtc9¬ÙµÛjÙë>Û7×WÚÜK™‘i£ƒvâ+¨K˜I-}–ÚÊÅ{¶úž¥ï²ßOùÏç,ôë·C7¢6Þ“c²ðÙ‹cî2M¹ W[(ÃÈƲ¬zîÈ¿ßú/ßÆÊõUlÌQÐúÆÅÆyuôØ2sXÒê©®¦:×±Ö3ß¾×~Ž¯ô÷dY™ê3Z¡?‰L‰®ôÃúìÛjÖÂÈ£3¬eæ5á®6z8˜Ìkɪ ʽ?¶ßÑú~£«³ôÏúŸj¯÷UÕhªüÇS{Úk¬í“£š]µÌ{v¹®k¾…?X?Wþ¬å·+9ôÞn¥ÔúøŒt5–1íe”z×7ÜË}½gèÿGwæzk"ÆÛ‘VC¶ìzž×DHvÿpS+M´¤9øxXÎêI¯¯s7S¹§tæzÞ÷:=w?é»Õ}ÿÈZŽ{×Ykƒ+.s?ßs¿èªôOÚò?:Gð¯oýõX·»èÙpÜÙk¶ÃéUgùíüôä¹=:rº‹2l?·›î²¢\¾Ÿ²3î§Jí²Š®Ûë9¿ùïÑÞl“³qzEx¹ÿk®Ã銟P ´i¸Ôíͺw}¿=ŸŸþ~?Mcϸé! x?œŸä"jÍh?h^>C,é÷¼‚籂‘ =?Úæý[íú6«9õ2¾›?[Ú)¼™%Ä’×¹Î/ysßý¥è9víÒGhùnöÿU"ü¾—œû »Óµ*-ik\ òÆ»Ýüã¬úI”ÞéÆqî<]ÒÑÀÑ®ÿ9û÷=Zj§Ò‰8×ϪœG§ŽæÿÐz¸èÍ_ý˜ð숅ÿ½i!ÿÖ±__ÀÏf%¢ýµÝ—w¨@‚ÐÜj¨vóþ"Û7¿wý¦[Ú2îפ?ͱ„;ÔsgOQ…Õ3ó¿ê~«ãt¯®;1þ·Nɱ¶Öéâ¢çVÖ^#o¶ÿô^Ìš½õìÞ½Ÿª¸9ïé—;#\¬¥XxƒVN,ûñ®ÓeŸN«èøѪÃ'\hK_ÒôYÄÎ Š;:˜mÆÅ¥´ÐÁ^;@¬ * £ÛýUKë=×USr˜ÖVÖW¶·¾ »pölú_Gè]j°UöcN¤¾q‰ÐÏòZ³ú®kèÄ,Òix°™?âY·oîûT° '§üîËNî>Qss²žÙYÜÝ€K›]SíÛ¹®~öØÏj›ú‹±Ý‰MŽ®çæ–ŠëÇkÞÒט©ÕÝ¿k™^Ïô_§Ù¿õEi ·{êÚÛ\3Ѷ½ÛK>‡òW?™†ææd<¾?ZŸFÏF™Æ±åãsÙ‡]Oý/é¿#g«¿þù—ê¾$ú?=L¡:ª¹×²€ëíõ?ŒÆ ìô>“^ç°îvßÒìúþ‹ù¿ÒWgóÉúxk0ëk_}¢]úL ïT’I÷zžý?ÝéÖ…??~Ï™[ƒ«e&§Â}.öÙþžïÌþocýTŽ×õ[Z×?7±›sk> saïôÃ̼V¶¶Øà]ïöþú=’ê.Üdš¬ù±Ê¦61î{þ‹?“3¹ÅÛ½Oú¥qÍ&›±ãþ‰F'ˆUh?£HúA'ÂL™«îô16þUy²fwF|<»?´&#8217;hÅÚ¨ýºÿ´tß³ÚöYæÆ4»ÓØÖ´úöŠ_O½–l®§Ûg£úOô‰¤ÔoÁ \©ßÜ©ú£Ãþô¶æH9]E•ÈiÜxk#ö•ÿ»ÿz{’â#„îÿÿ×7Gú§—Ö3Ö(¼äà?[íä‚Ö6ÏsèÅƇ[êÓ^k·ÿ7]TWìý:ßëÒxaµÏ¹òHy%Î"÷>w{ýß¾du/Ù8%µØÛlmcìØ?{Xls‡¨Æ7ü'龋mgþ‹µG¯õ‘õgõ<¦¼·ñKý?sË?ºÉmos}µí±û?íµJXe?lþî’½>Îkˆ&ïú´ÚK§°[Ô¯®&#353;&#338;´Hè&#376;M&#402;éXý¿&#8250;ZÍË9§%¿n{]p©*-¯F´5Ö3¿çØæú&#8211;Û_à½[+õ®*Ðú&#8225;CnONË« ÞòÖ?aà1®ûVê¶êîfîúl¯ùÚàÕÎ¥¹ÝAÎh.»Lk¨}»&#402;¾õÕ&#376;öì&#376;û&#338;ÏùN{ÿÛMu5â[?UŽ¬n}m.-.l˜üíŽj¡û7ýÿ•örxÿ;þ’o¸nÅU¯ã?ÕºÿÐÀú’Æ»'/©äM·°2š¬±Ä?Ön}ÏÜwXçúlmKü-«[¯–õzYˆ^]eN®780Ÿis¿žw§³óGÿ³¾ªadã³+6—ÑcžÛUØ\Èôì{7:Æ 28) : ColorSpace - 65535
    28. : ExifImageWidth - 500
    29. : ExifImageLength - 755