게시판 첨부파일 다운로드 시 공백에 + 안 생기게 하는 법 (UTF-8 전용) > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

게시판 첨부파일 다운로드 시 공백에 + 안 생기게 하는 법 (UTF-8 전용) 정보

게시판 첨부파일 다운로드 시 공백에 + 안 생기게 하는 법 (UTF-8 전용)

본문

팁이라기엔 조금 민망하지만 공유정신을 갖고 한번 올려봅니다.
저처럼 하하하수여서 고생하시는 분들께 도움이 되면 좋겠네요... ㅠ
 
게시판 첨부파일 업로드 시 파일명에 공백이 있으면 다운로드 받을 때 공백이 + 나 _로 바뀝니다. _는 euc-kr 에서 본 거 같네요.
 
즉,
테스트 파일.pdf 를 게시판에 첨부하면, 다운로드 받을 때는 테스트+파일.pdf 이런 식으로 다운로드가 받아진다는 거죠.
이걸 테스트 파일.pdf 그대로 다운 받을 수 있도록 하려고 하는 겁니다.
 
 
bbs/download.php 에서
 
if(eregi("msie", $_SERVER[HTTP_USER_AGENT]) && eregi("5\.5", $_SERVER[HTTP_USER_AGENT])) {
        header("content-type: doesn/matter");
        header("content-length: ".filesize("$filepath"));
        header("content-disposition: attachment; filename=\"$original\"");
        header("content-transfer-encoding: binary");
    } else {
        header("content-type: file/unknown");
        header("content-length: ".filesize("$filepath"));
        header("content-disposition: attachment; filename=\"$original\"");
        header("content-description: php generated data");
    }
 
부분을
 

if(eregi("msie", $_SERVER[HTTP_USER_AGENT]) && eregi("5\.5", $_SERVER[HTTP_USER_AGENT])) {
  header("content-type: doesn/matter");
  header("content-length: ".filesize("$filepath"));
  header("content-disposition: attachment; filename=\"$original\"");
  header("content-transfer-encoding: binary");
 } else {
  header("content-type: file/unknown");
  header("content-length: ".filesize("$filepath"));
  if(preg_match('/MSIE/i', $_SERVER['HTTP_USER_AGENT']) && !preg_match('/Opera/i', $_SERVER['HTTP_USER_AGENT'])) echo header("content-disposition: attachment; filename=\"".basename(rawurlencode($file['bf_source']))."\";");
  else echo header("content-disposition: attachment; filename=\"".basename($file['bf_source'])."\";");
  header("content-description: php generated data");
 }
 
이렇게 바꿔주시면 파일명의 공백이 +나 _로 안 바뀌고 원래대로 나옵니다.
 
깡패24 utf-8, php5, mysql5.x 에서 테스트해본 겁니다. euc-kr 은 잘 모르겠습니다.
익스, 파폭, 크롬 잘 작동합니다.
 
제가 초하수라 다른 환경이나 기타 오류 등은 잘 모르겠습니다;; ㅈㅅㅈㅅ
추천
10

댓글 16개

전체 3,313 |RSS
그누4 팁자료실 내용 검색

회원로그인

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