제목 | 다운로드시 한글파일명 오류 문의입니다. | ||
---|---|---|---|
글쓴이 | 과학나라 | 작성시각 | 2014/03/11 09:39:57 |
|
|||
컨트롤러
public function file_download($clipfile){ $this->load->helper('download'); $data = file_get_contents("./community_file/".$clipfile); // Read the file's contents force_download(mb_convert_encoding($clipfile, 'euc-kr', 'utf-8'), $data); echo "http://파일경로/".$clipfile; } view <? echo"<a href=\"/bbs/cSHARE/file_download/$clipfile\"><font color='blue'>$clipfile</font></a>" ?> 참고로 변수 clipfile는 파일 이름이 담겨져 있습니다. 문제는 숫자,영어로된 파일이름명은 컨트롤러에서 file_download 거쳐서 다운 로드가 됩니다. 문제는 한글 파일명을 다운로드 할시 http://파일경로/erher##gq1.jpg <-- 여기서 붙여넣기 하면 재대로 나와서 제가 임의로 지정했습니다. 이렇게 나오면서 파일명을 찾을수 없어서 오류가 나온거 같습니다, 컨트롤러에서 view페이지로 갈때 변수는 clipfile를 UTF-8로 처리를 해서 페이지상 한글이 안깨져서 나오는데요 변수 clipfile를 file_download 함수로 보낼때 UTF-8로 처리해보았지만 잘 안되네요 무슨 방법이 있으면 조언 부탁드립니다. |
|||
다음글 | session과 try rollback (1) | ||
이전글 | pdf파일 생성 후 다운로드 (1) | ||
과학나라
/
2014/03/11 13:01:27 /
추천
0
이것은 정말로 방법이 없나요ㅜㅜ
|
수야디벨
/
2014/03/11 15:08:25 /
추천
0
원래는 파일명이 한글도 될 텐데요 .. 얼마전에도 한글 다운로드 구현했었거든요. 코드이그나티어 파일업로드 기능으로
실제로 제가 소스를 테스트 해볼 시간은 없으니 순수하게 한글 이름이 깨진다면 그냥 이런 방식은 어떨까요? 파일 업로드하기전에 파일네임을암호화해서 업로드하고 , 파일 다운로드할때는 파일명을 디코딩 해서 받게 하는거죠. |
변종원(웅파)
/
2014/03/11 16:08:12 /
추천
0
서버가 리눅스면 아파치에 mod_url.c가 적용되어 있어야 한글다운로드가 될겁니다.
|