첨부파일 다운로드 후 실행시 오류가 납니다. 정보
첨부파일 다운로드 후 실행시 오류가 납니다.관련링크
본문
오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.
오류 주소 : http://barnabas.onnurips.org/bbs/board.php?bo_table=sub_barnabas_news&wr_id=21&page=0&sca=&sfl=&stx=&sst=&sod=&spt=0&page=0
A라는 메인홈페이지에 a1이라는 서브홈페이지를 만들었습니다.
A홈페이지에서는 첨부파일을 올리면 정상적으로 다운, 잘 열리는데..
a1홈페이지에서는 파일의 제목은 정상적으로 다운되나, 파일을 열면
"파일 형식 또는 파일 확장명이 잘못되어... 파일을 열 수 없습니다.... " 라는 경고문을 보입니다.
FTP를 통한 파일 다운 후 열어보면 정상적으로 잘 열립니다.
그래서 http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=30059 자료의
/bbs/download.php 파일을 수정하였습니다.
아래 부분을 모두 주석 처리하고,
----------------------------------------------------------
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();
---------------------------------------
아래의 코드로 대체할 때, 정상적으로 파일이 열리게 됩니다.
* 아래 코드 출처 - http://kr2.php.net/manual/en/function.header.php 참조 (2011년 1월 31일자 User Contributed Notes)
// Must be fresh start
if( headers_sent() )
die('Headers Already Sent');
// Required for some browsers
if(ini_get('zlib.output_compression'))
ini_set('zlib.output_compression', 'Off');
// Parse Info / Get Extension
$fsize = filesize($filepath);
$path_parts = pathinfo($filepath);
$ext = strtolower($path_parts["extension"]);
// Determine Content Type
switch ($ext)
{
case "pdf": $ctype="application/pdf"; break;
case "exe": $ctype="application/octet-stream"; break;
case "zip": $ctype="application/zip"; break;
case "doc": $ctype="application/msword"; break;
case "xls": $ctype="application/vnd.ms-excel"; break;
case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpeg":
case "jpg": $ctype="image/jpg"; break;
default: $ctype="application/force-download";
}
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: $ctype");
header("Content-Disposition: attachment; filename=\"".$original."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".$fsize);
ob_clean();
flush();
을 수정하였으나 되지않더라구요.
한참 배우고 있는 지라 이것이 무엇인지 알수가 없더군요...
혹 비슷한 경험이나 한수 가르쳐 주실 수 있는 분들은 답변 부탁드립니다.
이문제로 한참을 씨름하고 있습니다~ㅠㅠ
오류 주소 : http://barnabas.onnurips.org/bbs/board.php?bo_table=sub_barnabas_news&wr_id=21&page=0&sca=&sfl=&stx=&sst=&sod=&spt=0&page=0
A라는 메인홈페이지에 a1이라는 서브홈페이지를 만들었습니다.
A홈페이지에서는 첨부파일을 올리면 정상적으로 다운, 잘 열리는데..
a1홈페이지에서는 파일의 제목은 정상적으로 다운되나, 파일을 열면
"파일 형식 또는 파일 확장명이 잘못되어... 파일을 열 수 없습니다.... " 라는 경고문을 보입니다.
FTP를 통한 파일 다운 후 열어보면 정상적으로 잘 열립니다.
그래서 http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=30059 자료의
/bbs/download.php 파일을 수정하였습니다.
아래 부분을 모두 주석 처리하고,
----------------------------------------------------------
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();
---------------------------------------
아래의 코드로 대체할 때, 정상적으로 파일이 열리게 됩니다.
* 아래 코드 출처 - http://kr2.php.net/manual/en/function.header.php 참조 (2011년 1월 31일자 User Contributed Notes)
// Must be fresh start
if( headers_sent() )
die('Headers Already Sent');
// Required for some browsers
if(ini_get('zlib.output_compression'))
ini_set('zlib.output_compression', 'Off');
// Parse Info / Get Extension
$fsize = filesize($filepath);
$path_parts = pathinfo($filepath);
$ext = strtolower($path_parts["extension"]);
// Determine Content Type
switch ($ext)
{
case "pdf": $ctype="application/pdf"; break;
case "exe": $ctype="application/octet-stream"; break;
case "zip": $ctype="application/zip"; break;
case "doc": $ctype="application/msword"; break;
case "xls": $ctype="application/vnd.ms-excel"; break;
case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpeg":
case "jpg": $ctype="image/jpg"; break;
default: $ctype="application/force-download";
}
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: $ctype");
header("Content-Disposition: attachment; filename=\"".$original."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".$fsize);
ob_clean();
flush();
을 수정하였으나 되지않더라구요.
한참 배우고 있는 지라 이것이 무엇인지 알수가 없더군요...
혹 비슷한 경험이나 한수 가르쳐 주실 수 있는 분들은 답변 부탁드립니다.
이문제로 한참을 씨름하고 있습니다~ㅠㅠ
댓글 전체
오류주소에 들어가서 엑셀파일을 다운하니 잘 열리네요.
다른컴퓨터에서 테스트하시고 혹시나 안되시면 그누보드를 새로받아 bbs 폴더만 덮어씌우시고 그래도 안되시면 다른 게시판 스킨으로도 테스트 해보시기 바랍니다
다른컴퓨터에서 테스트하시고 혹시나 안되시면 그누보드를 새로받아 bbs 폴더만 덮어씌우시고 그래도 안되시면 다른 게시판 스킨으로도 테스트 해보시기 바랍니다
어디는 되고 어디는 안되나봐요~ㅠㅠ 이런이런 어떻게 해야할지~ㅠㅠ
http://k.daum.net/qna/view.html?qid=3xpVU
뭔가 싶었더니 엑셀 문제네요 ㄷㄷ
엑셀도 2007 버전 이상과 그 이하는 확장자부터 달라서 열수가 없습니다.
올리신 파일은 엑셀 2007 이상에서 작업하신 파일인데 안열리는 컴퓨터는 엑셀 2007 아래 버전을 사용해서 그렇습니다.
팁을 드리자면 엑셀 2007 이상에서도 엑셀 2003버전 아래에서 볼 수 있도록 다른이름으로 저장을 눌러서 확장자를 바꿔주시면 됩니다.
뭔가 싶었더니 엑셀 문제네요 ㄷㄷ
엑셀도 2007 버전 이상과 그 이하는 확장자부터 달라서 열수가 없습니다.
올리신 파일은 엑셀 2007 이상에서 작업하신 파일인데 안열리는 컴퓨터는 엑셀 2007 아래 버전을 사용해서 그렇습니다.
팁을 드리자면 엑셀 2007 이상에서도 엑셀 2003버전 아래에서 볼 수 있도록 다른이름으로 저장을 눌러서 확장자를 바꿔주시면 됩니다.
그누보드5 사용중 동일한 이상증상이 있어 알려주신대로 수정하니 정상작동되었습니다. 오래전 글이지만 많은 도움이 되었습니다. 감사합니다.