게시판 첨부파일 다운로드 시 공백에 + 안 생기게 하는 법 (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");
}
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 은 잘 모르겠습니다.
익스, 파폭, 크롬 잘 작동합니다.
제가 초하수라 다른 환경이나 기타 오류 등은 잘 모르겠습니다;; ㅈㅅㅈㅅ
댓글 16개
13년 전
추천하였습니다 ^^
13년 전
감사합니다. 혹시 잘못된 부분은 없나요? ;;
13년 전
선추천 후확인
13년 전
잘못된 부분 있으면 알려주세요. ㅎㅎ
일단 테스트는 해봐서 문제 없는 거 같아 쓰는데 하수라 영 찜찜하네요.
일단 테스트는 해봐서 문제 없는 거 같아 쓰는데 하수라 영 찜찜하네요.
13년 전
추천합니다. 제 서버에서도 잘~됩니다~
고맙습니다.
고맙습니다.
13년 전
네 다행이네요 ^^
13년 전
캄사합니다 ㅎㅎ
jakekwak
13년 전
추천후 나중에 테스트
13년 전
테스트 후 결과 알려주세요 ㅎ
13년 전
테스트한 결과 실행 잘됩니다ㅎㅎ
13년 전
다행이네요! ㅎ
13년 전
추천합니다^^
친절한타이거
13년 전
감사합니당~~
12년 전
잘됩니다. 감사여~
바람의중심
11년 전
초보에게 정말 좋은 정보네요. 감사합니다.^^
6년 전
그누보드 5에서도 되는지요?
게시판 목록
그누4 팁자료실
그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.
나누면 즐거움이 커집니다.
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 3249 |
|
11년 전 | 6323 | |
| 3248 | 11년 전 | 6077 | ||
| 3247 |
|
11년 전 | 5434 | |
| 3246 | 11년 전 | 7165 | ||
| 3245 | 11년 전 | 4559 | ||
| 3244 | 11년 전 | 5219 | ||
| 3243 | 11년 전 | 5671 | ||
| 3242 |
|
11년 전 | 6516 | |
| 3241 |
saintbe
|
11년 전 | 5658 | |
| 3240 |
|
11년 전 | 5377 | |
| 3239 |
|
11년 전 | 3945 | |
| 3238 |
sahara
|
11년 전 | 5117 | |
| 3237 |
커네드커네드
|
11년 전 | 4663 | |
| 3236 |
|
11년 전 | 6919 | |
| 3235 |
사노라가노라
|
11년 전 | 3970 | |
| 3234 | 11년 전 | 4771 | ||
| 3233 | 11년 전 | 7914 | ||
| 3232 | 11년 전 | 8210 | ||
| 3231 | 11년 전 | 4988 | ||
| 3230 |
다케미카코
|
11년 전 | 6003 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기