애드온

PHP_EXIF 애드온 2.2

추천 수 7 댓글 14
Extra Form
자료 소개 PHP exif extension을 이용하여 사진의 EXIF 메타데이터(지리적 위치, 카메라 모델, 날짜 등)를 표시해주는 애드온입니다.
설치 경로 ./addons/php_exif
테스트 환경 Rhymix 2.0,Rhymix 2.1
라이선스 GPL v2
원작 정보 EXIF (사진정보) 애드온 (Sketchbook님)
https://xe1.xpressengine.com/index.php?mid=download&package_srl=20547035
이름 버전 날짜 다운수
php_exif_2.2.2.zip 2.2.2 2023-07-06 28
php_exif_2.2.zip 2.2.0 2023-07-06 5
php_exif_2.0.zip 2.0.0 2023-07-02 101

아무래도 운영하는 사이트가 사진이미지와 관련이 깊어서 만들고 배포하는 자료들의 대부분이 사진과 관련이 깊습니다. 사진의 퀄리티도 중요하지만 사진 자체가 가지고 있는 메타데이터도 중요한 정보들입니다.

 

이미지프로세스 모듈도 이 메타데이터를 보존하는 것이 주된 제작목적이었습니다.

 

처음에 BNU만드신 것을 sketchbook님이 수정배포했던 자료입니다.

원본 :  https://xe1.xpressengine.com/index.php?mid=download&package_srl=20547035

이번에는 제가 손을 좀 봤습니다.

당초 exif 라이브러리를 사용해서 제작 되어있었는데 외부 라이브러리를 사용하는 만큼 속도에 문제가 있어서 php내부 기능인 exif를 이용해서 새로 제작했습니다.

php가 exif를 지원하는지 확인해보셔야합니다.

phpinfo()에서 exif가 지원되지 않으면 작동하지 않습니다.

 

디자인은 sketchbook님의 것을 그래도 사용했습니다.

따라서 애드온 설정이나 보이는 부분은 sketchbook님이 배포하셨던과 거의 똑같습니다.

단지 바뀐 것이 있다면 GPS 좌표표시를 선택적으로 할 수 있고

GPS 좌표를 클릭하면 구글맵에서 위치가 표시되게 했습니다.

 

버전 1.2 추가 : 모바일에서 작동을 수정한 버젼을 다시 올렸습니다. 모바일에서는 type3 모드만 동작하게 수정했습니다.

버전 1.3 : 본문에 링크된 이미지나 lazyload애드온과 같이 동작시 이미지가 뜨지 않는 문제를 수정했습니다. 

버전 1.5 : GPS 위치표시 선택을 다양한 방법으로 이용할 수 있게 수정했습니다.

   ex)) 관리자만 보기, 특정 게시판에서만 보이게, 특정 게시판에서만 안보이게..

    다른 애드온과의 충돌을 최소화하기 위해 소스를 수정하고 정리했습니다. 

버전 1.5.1 : 모바일 표시 버그수정

버전 1.6 이미지프로세스 모듈과 연동

버전 1.6.1 : php 7.2 대응

버전 2.0 : php8.0 대응

               라이믹스 내부 캐시적용으로 속도 개선

버전 2.2 :

        2.0버전에서 제거했던 이미지프로세스 모듈과 연동기능 재생

                 이미지프로세스 모듈에서 저장한 EXIF를 보여주는 기능입니다.

                  모듈과의 연동으로 사진에서 EXF 데이터를 제거한 후에도 애드온에서 표시할 수 있습니다.

         라이믹스 내부캐시를 디폴트로 수정 

         작성자에게는 GPS 데이터 표시

           사용하지 않음으로 설정해도 작성자에게는 표시됩니다.    

버전 2.2.1, 버전 2.2.2

     루트가 아닌 곳에 설치된 홈페이지를 위한 수정 버전입니다.

제작자 karma

profile
imageprocess, 통합검색확장모듈
아빠팬더곰은 영원한 초보
  • profile

    karma 님의 PHP_EXIF 애드온의 표시방식에서 이미지하단목록을 선택하면 마우스오버시에만 보여집니다

    마우스오버를 하지않아도 사진하단에 목록형태로 늘 보여지게하려면 어떻게 해야될까요?

    '마우스오버시'를 선택하면 좌상단에 나오고요. 

     

    7.jpg

  • profile

    저 또한 php 7.4 이용중이고
    이미지 프로세스를 통해 가로 사이즈가 리사이징 되었고 워터마크가 첨부되어서 변환된 이미지는 혹시 exif 정보가 표시되지 않나요?(아 이건 제가 exif 제거를 선택했었네요)

    추가로 저는 카메라 기종등을 필요없고 업로드 당시 파일명만을 제공해 주고싶습니다.

    alt 에서 어떻게 추출하면 될것 같은데 방법이 있을까요?

    $image->getAttribute('alt'); 식으로 사진제목 : 으로 표현해주면 좋을것 같습니다.
    혹시 해당 방법도 추가가 가능할런지요?

    아까 문의 드렸던것처럼 썸네일이 포함된 리사이징 사진을 확인하고 마음에 드는 사진을 포인트로 구입하게 하기위해서는 파일제목이 꼭 필요할 것 같아서요.

  • profile profile
    라이믹스에서 화일을 저장할때 이름을 바꿔서 저장하지만 이미지를 화면에 뿌릴때 alt 태그가 원래의 화일이름입니다.

    화면의 이미지를 소스보기로 보면
    <img src="/files/attach/images/2023/.../aaabbb.jpg" alt="xxxx.jpg" style="" />
    중에서 aaabbb.jpg는 현재 라이믹스에 저장되어있는 상태의 이름이고 xxxx.jpg가 원래의 화일이름입니다.
    즉 alt 태그로 보여주는 것이 원래이름입니다.
    다운로드를 하게되면 원래의 이름인 xxxx.jpg로 저장됩니다.
  • profile

    스크린샷 2023-07-07 235854.png제 서버를 보니 exif를 지원하긴 하는거 같은데요.

    설정을 해도 exif가 모두 Unknown으로 나옵니다. 이미지 리사이징 때문일까요?

    리사이징 하면서 exif를 살릴수는 없을까요?

     

  • profile profile

    GD로 리사이징을 하면 exif가 소실되는거 맞습니다. ImageMagick이나 Imagick을 사용하면 exif도 보전하고 화질도 개선할 수 있습니다.
    이미지프로세스 모듈을 사용하시면 기타설정에서 ImageMagick으로 설정해보십시요. 물론 서버에 이미지매직이 설치되어 있어야 합니다.

     

    조만간 배포할 이미지프로세스 모듈의 새버전에서는 기진곰님의 조언대로 프로세싱 방법과 상관없이 exif 정보를 DB에 넣어서 보여주는 방법으로 개선하였습니다. 따라서 imgamagick imagick, magick등과 상관없이 GD 프로세싱에서도 exif가 보여지게될겁니ㄷ마.

  • profile profile

    스크린샷 2023-07-08 090752.png

    스크린샷 2023-07-08 091100.png

     

    설정을 위와 같이 했습니다. 아래는 서버에 imagick이 설치되어 있는 것을 확인할 수 있는데요.

     

     

    스크린샷 2023-07-08 090707.png

     

     

     

    스크린샷 2023-07-08 091536.png

    파일관리에서는 위와 같이 설정이 되어 있습니다.

     

     

    스크린샷 2023-07-08 091359.png

     

    제가 설정을 잘 못한것일까요? 저는 exif가 다 날아가 버리네요;;;

  • profile profile

    PHP 7.X 에서는 imagick이 거의 동작하지 않는다고 보시면 됩니다.
    사이즈가 일정이상 큰 이미지를 프로세싱하다보면 메모리가 뻑나서 중단됩니다.

     

    코어에서도 magick이 설치되어 있어도 리사이즈는 GD로 실행합니다.

     

  • profile profile
    그럼 php 8.x로 업데이트 하면 정상 작동한다는거죠? php8로 업데이트 함 해봐야겠군요.. 다시 셋팅해보겠습니다.
  • profile profile
    다음주쯤 이미지프로세스 새 버전을 배포할 예정입니다.
    그때까지 기다려보시기 바랍니다.
  • profile profile
    네 알겠습니다. php8.0으로 변경을 하니 에러를 뿜네요;;;

    Fatal error: Array and string offset access syntax with curly braces is no longer supported in /volume1/web_todayplus/addons/captcha/captcha.addon.php on line 164 Call Stack: 0.0001 370416 1. {main}() /volume1/web_todayplus/index.php:0 0.0105 855744 2. ModuleHandler->__construct($module = ???, $act = ???, $mid = ???, $document_srl = ???, $module_srl = ???) /volume1/web_todayplus/index.php:51 0.0143 1267712 3. include('/volume1/web_todayplus/files/cache/addons/pc.php') /volume1/web_todayplus/classes/module/ModuleHandler.class.php:108
  • profile

     

     

    안녕하세요,

    좋은 프로그램 감사합니다.
    php-exif 1.6.1 에서는 사진이미지 위에 exif 단추가 출력되어 클릭할 수 있었는데, 2.0 부터는 단추가 출력 안 됩니다.
    댓글을 보면 다들 문제가 없는데 저만 그런가 하여 테스트 해 보다가 아예 테스트 계정을 새로 만들어서 라이믹스를 설치하고 php-exif 2.2만 설치를 해 봤습니다. 이곳에서도 1.6.1은 exif 단추가 출력되나 2.2는 출력이 안됩니다. 뭔가 서버 설정이 잘 안된것 같은데... 원인을 모르겠습니다. 한번 검토 부탁 드립니다.
     

          exif-1.6.1                                                             exif-2.2

    small_exif-1.6.1.pngsmall_exif-2.2.png

     



    아래는 서버환경입니다.
    [Basic Information]
    rhymix_version : 2.1.1
    date : 2023-07-06 04:15:48 +0000 (2023-07-06 04:15:48 UTC)
    php : 7.4.33 (64-bit)
    server : Apache
    os : Linux 3.10.0-1160.90.1.el7.x86_64
    sapi : apache2handler
    baseurl : http://k*****n.dothome.co.kr/rhymix/
    basedir : /host/home2/k*****n/html/rhymix/
    owner : kghjlun (30983:1000)
    user : unknown
    ssl : none

    .......

    ......


    [Modules]
    module : no additional modules

    [Addons]
    addon : php_exif (2.2.0)

    [Layouts]
    layout : no additional layouts

    [Widgets]
    widget : no additional widgets

    [Widgetstyles]
    widgetstyle : no additional widgetstyles

    [Tasks]
    apcu_clear_cache()
    opcache_reset()

  • profile profile

    홈페이지 구조가 둘다 똑같은가요?
    가능성이라면 홈페이지가 rhymix 폴더에 설치된 것인데
    정규식의 문제가 아닌가 추정해보는데 홈페이지 루트가 아닌 경우는 테스트해보지 못했네요.

    테스트 버전을 업로드했으니까 설치해서 테스트를 부탁드립니다.

  • profile profile

    네, 두곳 다 rhymix폴더 밑에 라이믹스를 설치 했습니다.

    올려주신 Ver2.2.1 / Ver2.2.2  설치 해보니 두 버전 모두 잘 작동 됩니다.

    사진위에 exif 단추 출력되고, 클릭시 작동도 잘 됩니다. ^^
    좋은 프로그램 감사합니다.

     

    small_exif-2.2.1-1.png

  • profile
    라이믹스 2.1 / php7.4 아주 잘 됩니다.
    자료 감사드립니다. ^^