묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
다운로드창을 뜨게 하는 방법(php)
2005.08.05 10:31
(linux)php로 다운로드 프로그램을 짜고 있습니다.
그냥 화일을 링크하면 어쩔때 다운로드창이 어쩔때 그냥 화일이 뜨죠.(화일성격따라)
항상 다운로드탕이 뜨게 하고 싶어요.
혹시 php로 다운로드 창이 뜨게 할 수가 없다면 그 비숫하게라도 프로그램을
(또 카운트 체크때문에) 작성하고 싶은데...
여기저기 알아보고 작성한 프로그램을 돌려보니 화면에 마구 깨진 문자가 뜨더군요. 화면으로 다운로드를
받는건지....
이거 몇일째 헤매고 있습니다. 꼭 해결해야 할 것 같습니다. 고수님들 부탁드립니다.
download.php
.....
global $HTTP_USER_AGENT;
$file_name = $_GET[fname];
$file_path = $Path.$file_name;
if(is_file($file_path)){
if(eregi("(MSIE 5.0|MSIE 5.1|MSIE 5.5|MSIE 6.0)", $HTTP_USER_AGENT)){
Header("Content-type: application/octet-stream");
Header("Content-Length: ".filesize("$file_path"));
Header("Content-Disposition: attachment; filename=$file_name");
Header("Content-Transfer-Encoding: binary");
Header("Pragma: no-cache");
Header("Expires: 0");
} else {
Header("Content-type: file/unknown");
Header("Content-Length: ".filesize("$file_path"));
Header("Content-Disposition: attachment; filename=$file_name");
Header("Content-Description: PHP3 Generated Data");
Header("Pragma: no-cache");
Header("Expires: 0");
}
$fp = fopen("$file_path", "r");
if (!fpassthru($fp)) fclose($fp);
}
else{
print("<script> alert('파일 다운 받기를 실패하였습니다.');n");
print(" history.go(-1);n");
print("</script>n");
}
그냥 화일을 링크하면 어쩔때 다운로드창이 어쩔때 그냥 화일이 뜨죠.(화일성격따라)
항상 다운로드탕이 뜨게 하고 싶어요.
혹시 php로 다운로드 창이 뜨게 할 수가 없다면 그 비숫하게라도 프로그램을
(또 카운트 체크때문에) 작성하고 싶은데...
여기저기 알아보고 작성한 프로그램을 돌려보니 화면에 마구 깨진 문자가 뜨더군요. 화면으로 다운로드를
받는건지....
이거 몇일째 헤매고 있습니다. 꼭 해결해야 할 것 같습니다. 고수님들 부탁드립니다.
download.php
.....
global $HTTP_USER_AGENT;
$file_name = $_GET[fname];
$file_path = $Path.$file_name;
if(is_file($file_path)){
if(eregi("(MSIE 5.0|MSIE 5.1|MSIE 5.5|MSIE 6.0)", $HTTP_USER_AGENT)){
Header("Content-type: application/octet-stream");
Header("Content-Length: ".filesize("$file_path"));
Header("Content-Disposition: attachment; filename=$file_name");
Header("Content-Transfer-Encoding: binary");
Header("Pragma: no-cache");
Header("Expires: 0");
} else {
Header("Content-type: file/unknown");
Header("Content-Length: ".filesize("$file_path"));
Header("Content-Disposition: attachment; filename=$file_name");
Header("Content-Description: PHP3 Generated Data");
Header("Pragma: no-cache");
Header("Expires: 0");
}
$fp = fopen("$file_path", "r");
if (!fpassthru($fp)) fclose($fp);
}
else{
print("<script> alert('파일 다운 받기를 실패하였습니다.');n");
print(" history.go(-1);n");
print("</script>n");
}
믹스님글을 참고해보세요;