팁/튜토리얼

외부 이미지 저장 애드온 수정하기(3)

2016.02.07 05:45
817
0
0

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

제작자 : 카르마

수정자 : 하얀마법 / 배포자 : 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이 상대경로로 업로드되는 것을 앞에 '/'. 을 추가하여 절대경로로 업로드되도록 수정하였습니다.

 

 

 

 

 

eond Lv. 12

댓글 0