| 제목 | force_download 이용시 파일명에 괄호가 깨지는 현상입니다. | ||
|---|---|---|---|
| 카테고리 | CI 2, 3 | ||
| 글쓴이 | 정말못살아 | 작성시각 | 2017/09/13 16:19:43 | 
|  | |||
| 먼저 읽어주셔서 감사합니다~~ (_ _) 다운로드시 파일명에 괄호가 깨지는 현상입니다. 다운로드 링크를 걸어서 다운로드시 지정될 파일명을 보냅니다. 그런데 파일명에 괄호() 가 들어있습니다. http://도메인/app/download/다운로드파일명(중).ppt 
 download 함수는 아래와 같습니다. public function download($name) { $this->load->helper('download'); $data = file_get_contents($this->다운로드파일서버경로); force_download( $name, $data); } 
 실행하면 Error 가 뜹니다. The URI you submitted has disallowed characters. 
 그래서 config.php 에서 $config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-()'; 으로 괄호를 추가했습니다. 
 그랬더니 다운로드는 됩니다. 
 그런데 ### 다운로드파일명& # 4 0 ; 중 & # 4 1 ; .ppt ### 이라고 나오네요... (중간빈칸은 임의로 넣었습니다. 여기서는 변환해서 괄호로 잘 나오네요.) 어떤 부분을 수정해야할까요. 아니면 로직을 수정해야할까요? 링크파일명을 보내는게 잘못된것일까요? 
 고수님들의 조언 부탁드립니다. 
 
 
 
 | |||
| 다음글 | ci에서 instance와 static의 의미는... ... (3) | ||
| 이전글 | 페이스북sdk설치에 대한 질문입니다 (2) | ||
| 
                                변종원(웅파)
                                /
                                2017/09/13 16:53:54 /
                                추천
                                0
                             | 
| 
                                정말못살아
                                /
                                2017/09/13 17:47:56 /
                                추천
                                0
                             
 답변감사드립니다~~ 계속 새로고침으로 확인중이였는데 ㅠㅠ 역시 웅파님이시네요. 
 링크주소는 http://도메인/app/download/다운로드파일명(중).ppt 이대로 찍힙니다. 저만의 특이한 현상인건가요? 서버는 Nginx 이며 CI 버전은 2.1.2 php 는 5.3 을 쓰고 있습니다.. | 
| 
                                변종원(웅파)
                                /
                                2017/09/14 10:13:24 /
                                추천
                                0
                             정말못살아/ 링크주소가 화면엔 정상적으로 찍혀도 소스단에서는 변환된 형태일 수 있습니다. 서버에 저장된 파일명도 확인해보시구요. | 
링크 주소가 변환된 상태인지 확인해보세요.
force_download에서 파일명 변환하거나 하는 부분이 없습니다.