안녕하세요. 해피정 입니다.
최근 알지보드를 그누보드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개 / 댓글 3개
309$2$블로그조작 돈만주면 검색어순위 올린다.png
이걸
309\$2\$블로그조작 돈만주면 검색어순위 올린다.png
이렇게 해 보세요.
직접 해본게 아니기에 된다고 보장하지는 않지만 $가 변수명 앞에 쓰는지라 그거 때문에 문제가 되는것 같아요.
답변에 대한 댓글 1개
urlencode()함수를 한번 사용해 보시죠.
답변에 대한 댓글 1개
서버의 한글설정과 웹페이지의 한글설정이 달라서 발생한 문제로 확인되었습니다.
서버는 ISO-8859-1 , 웹페이지는 utf-8 ....
혹시나 싶어서 hwp 첨부파일의 파일명을 변경해봤더니
2745$2$토종22.hwp 를 2745$2$tojong22.hwp 로
복사가 정상적으로 되었습니다.
파일명에 한글이 포함되면 복사가 안된다는 결론에 도달했는데.
이것이 서버의 설정 문제인건 아닌거 같고...
ssh 에서 cp 명령어를 직접 작동시켰을때 복사가 되었으니까요.
php 5.2 가 설치된 서버인데, php 환경설정의 문제인걸까요?
띄워쓰기도 문제가 되는 듯 합니다.
띄워쓰기를 없애거나 아래 같은 식으로 해야 복사가 될껍니다.
309\$2\$블로그조작_돈만주면_검색어순위_올린다.png
답변에 대한 댓글 1개
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 확장자는 복사가 이상없이 되니 답답합니다.
답변을 작성하려면 로그인이 필요합니다.
변경후 jpg 첨부파일은 정상 저장이 되는데,
그외 png, hwp 의 파일을 cp 에서 파일을 찾을수 없다고 여전히 오류가 발생하네요.