웹문서에서 어떠한 파일을 다운로드 할 경우
가장 간단한 방법은 A 태그에서 직접 경로를 지정해주면 된다.
허나... 이방법은 한글파일명을 가진 파일은 쓸수가 없다...ㅡㅡ^
원인은 문서자체의 인코딩, 서버설정 등 여러가지가 있겠다.
여기서는 내가 찾은 방법을 메모하는 수준...포스팅은 아니다.
내가 찾고, 수정한 방법이다.
다운로드를 호출할 페이지에서 onclick 으로 자바스크립트를 호출하고,
onclick="js_filedown('테스트.doc')"
자바스크립트에서는...
가장 간단한 방법은 A 태그에서 직접 경로를 지정해주면 된다.
허나... 이방법은 한글파일명을 가진 파일은 쓸수가 없다...ㅡㅡ^
원인은 문서자체의 인코딩, 서버설정 등 여러가지가 있겠다.
여기서는 내가 찾은 방법을 메모하는 수준...포스팅은 아니다.
내가 찾고, 수정한 방법이다.
다운로드를 호출할 페이지에서 onclick 으로 자바스크립트를 호출하고,
onclick="js_filedown('테스트.doc')"
자바스크립트에서는...
function js_filedown(filenm){
window.open('/bdes/down/download.php?filename='+filenm); return false;
}
그리고, 호출한 download.php 에서는
그리고, 호출한 download.php 에서는
<?
$Path=$filename;
if (is_file($Path)) {
Header("Content-type:application/octet-stream");
Header("Content-Length:".filesize($Path));
Header("Content-Disposition:attachment;filename=".$filename);
Header("Content-type:file/unknown");
Header("Content-Description:PHP3 Generated Data");
Header("Pragma: no-cache");
Header("Expires: 0");
$fp = fopen($Path, "rb");
if (!fpassthru($fp)) fclose($fp);
clearstatcache();
}else {
echo "<script> alert('해당 파일이나 경로가 존재하지 않습니다.'); </script>";
echo "<script> window.close(); </script>";
exit();
}
?>
이렇게 하면 일단 다운은 된다 ㅎㅎㅎ
무슨 오류가 있을지는 고려하진 않은 코드...ㅎㅎ
메모 완료~!!
무슨 오류가 있을지는 고려하진 않은 코드...ㅎㅎ
메모 완료~!!