프리이미지
사이트 내 전체검색

안드로이드에서 한글파일 다운로드..

페이지 정보

작성일12-01-11 13:49

본문

header('Content-Type: application/octet-stream;'); 
header('Content-Disposition: attachment'); 

$dir="/home/test/mp3/한글.mp3"; 
$file_name="한글.mp3"; 

header('Content-Length: '.filesize($dir)); 
header('Content-Disposition: attachment; filename="'.$file_name.'"'); 
$fp = fopen($dir, 'r'); 
fpassthru($fp); 
?> 

위와같이 euckr 에서 ie,chrome,ff,safari 등 브라우저에서 정상적으로 다운로드 되는것을 확인했습니다. 

모바일 웹 (안드로이드) 에서 테스트를 했습니다. 
한글 파일명이 깨집니다. ㅡ,.ㅡa... 
한글.mp3 = > __.mp3 이렇게 나오네요.. 

나름 머리를 굴려보니.. 안드로이드에서는 파일명이 utf8 인코딩이 아니면 
파일명이 깨지더군요.. 

그래서 다음과 같이 utf8로 변형해 줬습니다.. 

<? 
//파일 저장시 ansi 가 아닌 utf8로 저장한 파일내용 입니다. 
header('Content-Type: application/octet-stream; charset=UTF-8'); 
header('Content-Disposition: attachment'); 

$dir="/home/test/mp3/한글.mp3"; 
$file_name=iconv("EUC-KR","UTF-8","한글.mp3"); 

header('Content-Length: '.filesize($dir)); 
header('Content-Disposition: attachment; filename="'.$file_name.'"'); 
$fp = fopen($dir, 'r'); 
fpassthru($fp); 
?> 

그런데도 파일명이 깨져서 나옵니다. 한글.mp3 => __.mp3 

나름 다른 사이트들은 어떤가 찾기 시작했습니다.. 
ndrive 는 한글파일 어떻게 처리하는지 확인해보니 euckr 로 다운받는듯 추측 합니다.. 
한글파일명 온전하게 잘 다운받네요.. 

몇줄 안되는 내용으로 몇일째 개고생중입니다. 

조언좀 부탁드립니다.
추천 0