외부 이미지 저장 애드온 수정하기(3)
애드온 : 외부 이미지 저장 애드온
제작자 : 카르마
수정자 : 하얀마법 / 배포자 : 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이 상대경로로 업로드되는 것을 앞에 '/'. 을 추가하여 절대경로로 업로드되도록 수정하였습니다.

댓글 0