첨부파일 다운로드 에러 문의입니다. 정보
첨부파일 다운로드 에러 문의입니다.본문
오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.
오류 주소 : http://ncml.kaist.ac.kr/bbs/board.php?bo_table=menu04_05&wr_id=2
첨부파일을 다운로드 받으려고 하면
1065 : 쿼리결과가 없습니다.
error file : /bbs/download.php
이런 에러메세지가 나오는데 원인이 무엇인지 잘 모르겠습니다.
서버를 재설치 하고나서 이런 문제가 나는것 같은데요..
답변주시면 정말 감사하겠습니다.
오류 주소 : http://ncml.kaist.ac.kr/bbs/board.php?bo_table=menu04_05&wr_id=2
첨부파일을 다운로드 받으려고 하면
1065 : 쿼리결과가 없습니다.
error file : /bbs/download.php
이런 에러메세지가 나오는데 원인이 무엇인지 잘 모르겠습니다.
서버를 재설치 하고나서 이런 문제가 나는것 같은데요..
답변주시면 정말 감사하겠습니다.
댓글 전체
익스와 크롬에서 잘 되네요. ^^
ie8버전이하까지에서 생길수 있는증상입니다.
download.php 소스를 수정하여야합니다.
1. 아래부분을 추가합니다.
function download_header($filename, $mode = "write", $filepath = "") {
if(strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")) {
$filename = rawurlencode($filename);
$filename = preg_replace('/\./', '%2e', $filename, substr_count($filename, '.') - 1);
}
header("Cache-Control: ");
header("Pragma: ");
header("Content-Type: application/octet-stream");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
if ($mode == "write") {
$file_size = 0;
}
else {
// $fp = fopen($filepath, 'rb');
header("Content-Length: " .(string)(filesize($filepath)));
}
header('Content-Disposition: attachment; filename="'.$filename.'"');
header("Content-Transfer-Encoding: binary\n");
flush();
}
================
아래부분을 그다음 내용으로 바꾸세요
if(preg_match("/msie/i", $_SERVER[HTTP_USER_AGENT]) && preg_match("/5\.5/", $_SERVER[HTTP_USER_AGENT])) {
header("content-type: doesn/matter");
header("content-length: ".filesize("$filepath"));
header("content-disposition: attachment; filename=\"$original\"");
header("content-transfer-encoding: binary");
} else {
header("content-type: file/unknown");
header("content-length: ".filesize("$filepath"));
header("content-disposition: attachment; filename=\"$original\"");
header("content-description: php generated data");
}
header("pragma: no-cache");
header("expires: 0");
flush();
==========
을
download_header($original, "", $filepath);
로 바꿉니다.
download.php 소스를 수정하여야합니다.
1. 아래부분을 추가합니다.
function download_header($filename, $mode = "write", $filepath = "") {
if(strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")) {
$filename = rawurlencode($filename);
$filename = preg_replace('/\./', '%2e', $filename, substr_count($filename, '.') - 1);
}
header("Cache-Control: ");
header("Pragma: ");
header("Content-Type: application/octet-stream");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
if ($mode == "write") {
$file_size = 0;
}
else {
// $fp = fopen($filepath, 'rb');
header("Content-Length: " .(string)(filesize($filepath)));
}
header('Content-Disposition: attachment; filename="'.$filename.'"');
header("Content-Transfer-Encoding: binary\n");
flush();
}
================
아래부분을 그다음 내용으로 바꾸세요
if(preg_match("/msie/i", $_SERVER[HTTP_USER_AGENT]) && preg_match("/5\.5/", $_SERVER[HTTP_USER_AGENT])) {
header("content-type: doesn/matter");
header("content-length: ".filesize("$filepath"));
header("content-disposition: attachment; filename=\"$original\"");
header("content-transfer-encoding: binary");
} else {
header("content-type: file/unknown");
header("content-length: ".filesize("$filepath"));
header("content-disposition: attachment; filename=\"$original\"");
header("content-description: php generated data");
}
header("pragma: no-cache");
header("expires: 0");
flush();
==========
을
download_header($original, "", $filepath);
로 바꿉니다.