애드온 : 외부 이미지 저장 애드온

제작자 : 카르마

수정자 : 하얀마법 / 배포자 : tofinder

표기버전 : 0.4.7

설치경로 : ./addons/auto_outimage/

 

0.4.7 버전과 0.5.0 버전은 차이점은 아래와 같습니다.

(서로 표기상 0.4.7과 0.5.0으로 표기되었지만 서로 간이 버전별 업그레이드 여부는 잘 모르겠습니다.

버전이 다른 xe에서 서로 동작하도록 만들다 보니 버전 표기를 수정자 및 배포자 의견에 따라 다르게 표기된 것 같습니다.)

 

- 차이점 - 

1. info.xml 파일에서 정의하는 내용이 조금 다릅니다.

2. 파일 업로드 경로가 다릅니다.

1) 0.5.0 버전은, /files/attach/images/ 경로에 업로드합니다.

2) 0.4.7 버전은, /files/attach/outimages/ 경로에 업로드합니다.

(*auto_outimage.func.php 파일에서 업로드 경로를 수정할 수 있습니다.)

3. 0.5.0 버전은 게시물에 업로드되었을 경우 게시판 글에 첨부파일로 등록이 되지만,

0.4.7 버전은 게시물에 파일 업로드 여부를 알 수 없습니다. 그러나 정상적으로 files/attach/outimage에 업로드는 되어있습니다.


팁 목차:

1. 이미지를 읽어왔을 때 files 디렉토리에 업로드하기(수정하기 팁 (1)에서 다뤘습니다만 다시;;)

2. 이미지를 게시물에 등록할 때, 게시물 내용에 도메인 경로를 빼고, 절대경로로 내용 삽입하기

 

1. 이미지를 읽어왔을 때 동작하도록 수정하는 방법은, 0.4.7에서만 동작하더군요.

$document_act = array('dispBoardContent','procBoardInsertDocument','procBodexInsertDocument'); //'dispBoardContent', 추가해서 글을 볼 때 동작하도록 함?

2. 이미지를 게시물에 등록할 때 글 내용이 도메인이 포함되어 등록되는데, 이것을 절대경로로 내용 삽입하는 방법입니다.

foreach($contImg as $src) {
   $ri_localfile = geRitLocalFile($src,$ri_avoid_domain,'Y');
   $replace = str_replace($src,'/'.$ri_localfile,$replace);
   eondLog("src:".$src);
   eondLog("ri_localfile:".$ri_localfile);
   eondLog("replace:".$replace);
}

위 소스 중에서,

$replace = str_replace($src,'/'.$ri_localfile,$replace);

이 부분입니다. 

로그를 살펴보면 다음과 같습니다.

20160207 14:32:02   src:http://mimgnews1.naver.net/image/076/2015/03/23/2015032401002833900185951_99_20150323095503.jpg?type=w540
20160207 14:32:02  ri_localfile:files/attach/outimage/mimgnews1.naver.net/image/076/2015/03/23/2015032401002833900185951_99_20150323095503.jpg
20160207 14:32:02  replace:<p><img src="/files/attach/outimage/mimgnews1.naver.net/image/076/2015/03/23/2015032401002833900185951_99_20150323095503.jpg" /><br /></p>

src는 원본 이미지 경로이며, ri_localfile은 업로드되는 경로이며, replace는 앞에 것을 뒤에것으로 교체하는 역할을 합니다.

그래서 원래 ri_localfile이 상대경로로 업로드되는 것을 앞에 '/'. 을 추가하여 절대경로로 업로드되도록 수정하였습니다.

 

 

 

 

 

이온디

profile
이온디는 라이믹스를 비롯한 다양한 CMS의 시드뱅크를 꿈꿉니다. 여러분들이 사랑하는 웹소스를 언제든지 사용할 수 있게 하기 위해 이온디는 매일 소스코드를 유지보수하고 있으며, 언제든지 다운로드할 수 있는 소스마켓을 운영하고 있습니다.

#XE마켓 - 이온디스토어
https://eond.com/xemarket/

# XE/라이믹스 단톡방을 운영 중입니다. (비번: 2022)
https://open.kakao.com/o/giaKKnl

# XE/라이믹스 생활코딩 모듈 강좌입니다.
https://opentutorials.org/module/3774