알지보드 컨버터 개발중인데 한글첨부파일 복사하는 방법 문제가 있습니다

알지보드 컨버터 개발중인데 한글첨부파일 복사하는 방법 문제가 있습니다

QA

알지보드 컨버터 개발중인데 한글첨부파일 복사하는 방법 문제가 있습니다

본문

안녕하세요. 해피정 입니다.

최근 알지보드를 그누보드5로 데이타 변경프로그램을 개발중인데요.

게시글 복사하는 과정에서 한글 파일명이 복사가 안되는 현상으로 고민이 있어서 조언 구합니다.

 

서버에 업로드된 파일명은 이런형식입니다.

309$2$블로그조작 돈만주면 검색어순위 올린다.png

 

규칙을 살펴보면 아래와 같은데요

게시글번호$첨부파일번호$파일명

게시글번호 : 게시글이 등록된 고유번호 ... 그누보드의 wr_num

첨부파일번호 : 게시글에 3개까지 첨부파일 등록이 가능합니다.

                   제로보드4는 2개까지 가능했는데 알지보드는 3개 가능합니다.

                   게시글 저장하면서 첨부파일이름도 함께 저장합니다. 제로보드4와 유사

파일명 : 실제 서버에 업로드 된 파일명

 

cp 명령어로 파일을 복사할때 아래와 같이 에러가 뜹니다.

Warning: copy(/home/test/www/rgboard/data/faq/309$2$블로그조작 돈만주면 검색어순위 올린다.png) [function.copy]: failed to open stream: No such file or directory in /home/test/www/g5/convert/rgboard3_g5_board_update.php on line 345

 

345라인의 내용은 아래와 같구요

copy($src_file, $g5_file);

 

이것을 풀어쓰면 아래와 같습니다.

$src_file = "/home/test/www/rgboard/data/faq/309$2$블로그조작 돈만주면 검색어순위 올린다.png";
$g5_file = G5_DATA_PATH."/file/faq/309$2$블로그조작 돈만주면 검색어순위 올린다.png";

 

무엇을 수정하면 문제가 해결될 수 있을까요?

이 질문에 댓글 쓰기 :

답변 4

309$2$블로그조작 돈만주면 검색어순위 올린다.png

이걸

309\$2\$블로그조작 돈만주면 검색어순위 올린다.png

이렇게 해 보세요.

직접 해본게 아니기에 된다고 보장하지는 않지만 $가 변수명 앞에 쓰는지라 그거 때문에 문제가 되는것 같아요.

복사할때 저장되는 파일명을  309_2.png 로 변경해서 저장하도록 변경했습니다.
변경후 jpg 첨부파일은 정상 저장이 되는데,
그외 png, hwp 의 파일을 cp 에서 파일을 찾을수 없다고 여전히 오류가 발생하네요.

띄워쓰기도 문제가 되는 듯 합니다.

띄워쓰기를 없애거나 아래 같은 식으로 해야 복사가 될껍니다.


309\$2\$블로그조작_돈만주면_검색어순위_올린다.png

아래는 실행된 결과중 일부입니다.

Warning: copy(/home/test/www/rgboard/data/qa/2217$2$복용후기실수.hwp) [function.copy]: failed to open stream: No such file or directory in /home/test/www/g5/convert/rgboard3_g5_board_update.php on line 347

/home/test/www/rgboard/data/qa/2448$1$SSL17080.JPG -> /home/test/www/g5/data/file/qa/rgboard_2448_1.JPG

/home/test/www/rgboard/data/qa/2708$1$메일로 온 광고.png -> /home/test/www/g5/data/file/qa/rgboard_2708_1.png

첨부파일에는 hwp, jpg, png 등이 존재하고 있는데,

jpg  복사 성공
png  에러는 없지만 복사 실패
hwp  에러가 뜨면서 복사 실패

거참 안되려면 다 안되야 속이 편한데, jpg 확장자는 복사가 이상없이 되니 답답합니다.

urlencode()함수를 한번 사용해 보시죠.

혹시나 싶어서 hwp 첨부파일의 파일명을 변경해봤더니

2745$2$토종22.hwp  를  2745$2$tojong22.hwp  로

복사가 정상적으로 되었습니다.

 

파일명에 한글이 포함되면 복사가 안된다는 결론에 도달했는데.

이것이 서버의 설정 문제인건 아닌거 같고...

ssh 에서 cp 명령어를 직접 작동시켰을때 복사가 되었으니까요.

php 5.2 가 설치된 서버인데,  php 환경설정의 문제인걸까요?

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 410
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT