웹마스터 팁

안녕하세요!

오랜만에 웹마스터팁 게시판에 글쓰네요^^

XE로 프로젝트 진행하던 중 XE의 파일 업로드기능이 필요하여 XE의 file모듈을 이용하기로 결정했었는데요^^

.....쉽게 생각했었는데... 파일 업로드를 할수 없더라구요...ㅠㅠ (msg_not_permitted_create 에러 뿜뿜...ㅠ)

더더욱이 로그에도 제대로 찍히지 않아서...ㅠㅠ (저는 XE debug기능 보다는 apache 로그를 위주로 작업하는지라...ㅠ)

아무리 찾아도 이렇다할만한 해결책이 없어서.... 디버깅하던 중....

제가 알아낸 방법에 대해서 공유하고자 이렇게 글을 올립니다^^

 

우선 insertFile 함수를 보면,

function insertFile($file_info, $module_srl, $upload_target_srl, $download_count = 0, $manual_insert = false)

이렇게 되어있죠^^

 

기본적으로 $manual_insert 값에 TRUE를 주게 되면 수동으로 파일업로드가 가능해집니다...

 

여하튼.... 함수를 살펴보게 되면, 여러가지 전처리를 해주게 되고, xe가 설치된 디렉토리의 files디렉토리에 해당 서브 디렉토리를 만들고 tmp파일을 복사해서 넣게 됩니다...

 

이 과정에서 디렉토리를 만드는 함수가 FileHandler::makeDir($path)죠^^

 

사실상 FileHandler::makeDir($path)에 보면... 별 내용은 없습니다... 단지 mkdir 명령어를 이용해 인자값으로 받은 $path변수에 지정된 디렉토리에 티렉토리를 만들고 권한을 주는 내용이죠....

 

// Create a directory
if(!FileHandler::makeDir($path)) return new BaseObject(-1,'msg_not_permitted_create'.$path);

 

그런데.... 안되다니.... (털썩...)

재밌는건 게시판의 파일첨부 기능은 정상적으로 동작됩니다 ㅠㅠ

 

여하튼 각설하고..... 

 

저는 $path 변수를 찍어보니 ./files/****/***/***/ 이라는 값을 인자로 넘기더군요....

 

음............. 혹시 디렉토리 경로를 제대로 못잡는것인가.... 싶어서 _XE_PATH_ 상수를 이용해 $path변수를 생성하는 부분에 넣어주었습니다...

 

$path = sprintf(_XE_PATH_."./files/attach/images/%s/%s", $module_srl,getNumberingPath($upload_target_srl,3));

 

_XE_PATH_ 상수는 서버 내에 XE가 설치된 디렉토리의 경로를 가지고 있죠....

 

예를 들어 XE가 설치된 디렉토리가 /var/www/html/ 이라면 _XE_PATH_ 상수에는 "/var/www/html/"값이 들어가게 되고,

위 소스를 해석하면 "/var/www/html/./files/attach/images/%s/%s"로 경로를 넘기게 됩니다.... 결국 절대경로값을 넘기는 거죠^^

 

결과는.... 정상작동이 됩니다^^

 

혹여 저또한 미래에는 기억못할수도 있고.... 에러로그에도 찍히지 않은 이 문제때문에 밤새실 분들을 위해 이렇게 기록삼아... 팁 게시판에 올려봅니다^^

제목 글쓴이 날짜
(회원가입) 닉네임 필요없이 이름만 입력 받으려면 [16] Simulz 2007.08.22
rewrite mod 설정, 해지 [1] 아름드리479 2007.08.22
설치환경을 갖추어도 설치시 문제 [1] 하얀후니 2007.08.22
로고 위치 변경하기 [4] 김영훈715 2007.08.21
홈페이지 주소 고정시키기 [12] file :에반: 2007.08.21
zbxe 일주일 사용기 및 팁 [1] 팔공산 2007.08.21
layout skin 제작시 info.xml도 잘 보세요 [1] 바람처럼.. 2007.08.21
페이지 수정시 메뉴들 가지런히 놓이게 하기 [3] 팔공산 2007.08.21
(수정) ZBXE 설치/로그인 등이 안될 때 시도해보세요. (MySQL DB) 핑크플로이드 2007.08.20
OpenID 적용 [6] file 맑은하늘75 2007.08.20
게시판에 나타나는 이름을 실명으로 나타내자! [5] 박영주964 2007.08.19
각 메뉴 옆에 게시물 갯수 표시하기 [6] coolsushi 2007.08.19
본문 하단에 (애드센스)광고 넣기 [2] roresy 2007.08.19
한글 경로가 404 에러로 뜨는 경우 처리방법 [2] 베니 2007.08.18
404 페이지 못찾음으로 나오는 문제 수정 [9] 화니군 2007.08.18
리눅스에서 제로보드 xe를 위한 환경 구축하기 [6] 써니a 2007.08.18
사이트접속시 제로보드XE폴더로 이동되게 하는 쉬운방법 [8] 부찬™ 2007.08.17
위지웍 에디터 웹폰트 사용하기 [6] 최지연 2007.08.17
서브 메뉴 배경색 바꾸기 [4] file Chang-Jo(창조) 2007.08.17
4차 서브메뉴 사용하기!! [4] [1] file 럭키587 2007.08.17