다운로드 창이 안뜨네요 ... 정보
다운로드 창이 안뜨네요 ...본문
Warning: Cannot modify header information - headers already sent by (output started at /home/fhgjhh/public_html/gnuboard4/head.sub.php:46) in /home/fhgjhh/public_html/gnuboard4/bbs/download.php on line 71
Warning: Cannot modify header information - headers already sent by (output started at /home/fhgjhh/public_html/gnuboard4/head.sub.php:46) in /home/fhgjhh/public_html/gnuboard4/bbs/download.php on line 72
Warning: Cannot modify header information - headers already sent by (output started at /home/fhgjhh/public_html/gnuboard4/head.sub.php:46) in /home/fhgjhh/public_html/gnuboard4/bbs/download.php on line 73
Warning: Cannot modify header information - headers already sent by (output started at /home/fhgjhh/public_html/gnuboard4/head.sub.php:46) in /home/fhgjhh/public_html/gnuboard4/bbs/download.php on line 74
Warning: Cannot modify header information - headers already sent by (output started at /home/fhgjhh/public_html/gnuboard4/head.sub.php:46) in /home/fhgjhh/public_html/gnuboard4/bbs/download.php on line 76
Warning: Cannot modify header information - headers already sent by (output started at /home/fhgjhh/public_html/gnuboard4/head.sub.php:46) in /home/fhgjhh/public_html/gnuboard4/bbs/download.php on line 77
Warning: Cannot modify header information - headers already sent by (output started at /home/fhgjhh/public_html/gnuboard4/head.sub.php:46) in /home/fhgjhh/public_html/gnuboard4/bbs/download.php on line 72
Warning: Cannot modify header information - headers already sent by (output started at /home/fhgjhh/public_html/gnuboard4/head.sub.php:46) in /home/fhgjhh/public_html/gnuboard4/bbs/download.php on line 73
Warning: Cannot modify header information - headers already sent by (output started at /home/fhgjhh/public_html/gnuboard4/head.sub.php:46) in /home/fhgjhh/public_html/gnuboard4/bbs/download.php on line 74
Warning: Cannot modify header information - headers already sent by (output started at /home/fhgjhh/public_html/gnuboard4/head.sub.php:46) in /home/fhgjhh/public_html/gnuboard4/bbs/download.php on line 76
Warning: Cannot modify header information - headers already sent by (output started at /home/fhgjhh/public_html/gnuboard4/head.sub.php:46) in /home/fhgjhh/public_html/gnuboard4/bbs/download.php on line 77
다운로드 php 에서 이런 오류가 나타납니다...
텍스트나 html파일 다운시에는 그냥 인터넷 창으로
바로 뜨고 다운로드 창... 저장 하는창이
안뜹니다...
에고 정말 미치겠네요...
다운로드 php나 헤드서브 php46번 줄을 봐도 알수가 없네요 ..
주석처리 해버릴수도 없고...
도와 주세요 ㅜ.ㅜ
댓글 전체
혹시 헐랭님 보시고 게시면 ...
봐주세요..
헐랭이님 다기능 쪽지 에서 다운로드 하는것도 에러가 납니다....
혹시 아시면 알려 주세요 .ㅜ.ㅜ
봐주세요..
헐랭이님 다기능 쪽지 에서 다운로드 하는것도 에러가 납니다....
혹시 아시면 알려 주세요 .ㅜ.ㅜ

download.php 의 소스 전체를 올려보세요.
<?
include_once("./_common.php");
@include_once("$board_skin_path/download.head.skin.php");
// 쿠키에 저장된 ID값과 넘어온 ID값을 비교하여 같지 않을 경우 오류 발생
// 다른곳에서 링크 거는것을 방지하기 위한 코드
if (!get_session("ss_view_{$bo_table}_{$wr_id}"))
alert("잘못된 접근입니다.");
$sql = " select bf_source, bf_file from $g4[board_file_table]
where bo_table = '$bo_table'
and wr_id = '$wr_id'
and bf_no = '$no' ";
$file = sql_fetch($sql);
if (!$file[bf_file])
alert_close("파일 정보가 존재하지 않습니다.");
if ($member[mb_level] < $board[bo_download_level]) {
$alert_msg = "다운로드 권한이 없습니다.";
if ($member[mb_id])
alert($alert_msg);
else
alert($alert_msg . "\\n\\n회원이시라면 로그인 후 이용해 보십시오.", "./login.php?wr_id=$wr_id&$qstr&url=".urlencode("board.php?bo_table=$bo_table&wr_id=$wr_id"));
}
// 사용자 코드 실행
@include_once("$board_skin_path/download.skin.php");
// 이미 다운로드 받은 파일인지를 검사한 후 게시물당 한번만 포인트를 차감하도록 수정
$ss_name = "ss_down_{$bo_table}_{$wr_id}";
if (!get_session($ss_name))
{
// 자신의 글이라면 통과
// 관리자인 경우 통과
if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin)
;
else if ($board[bo_download_level] > 1) // 회원이상 다운로드가 가능하다면
{
// 다운로드 포인트가 음수이고 회원의 포인트가 0 이거나 작다면
if ($member[mb_point] + $board[bo_download_point] < 0)
alert("보유하신 포인트(".number_format($member[mb_point]).")가 없거나 모자라서 다운로드(".number_format($board[bo_download_point]).")가 불가합니다.\\n\\n포인트를 적립하신 후 다시 다운로드 해 주십시오.");
// 게시물당 한번만 차감하도록 수정
insert_point($member[mb_id], $board[bo_download_point], "$board[bo_subject] $wr_id 파일 다운로드", $bo_table, $wr_id, "다운로드");
}
// 다운로드 카운트 증가
$sql = " update $g4[board_file_table] set bf_download = bf_download + 1 where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$no' ";
sql_query($sql);
set_session($ss_name, TRUE);
}
$g4[title] = "$group[gr_subject] > $board[bo_subject] > " . conv_subject($write[wr_subject], 255) . " > 다운로드";
$filepath = "$g4[path]/data/file/$bo_table/$file[bf_file]";
$filepath = addslashes($filepath);
if (preg_match("/^utf/i", $g4[charset]))
$original = urlencode($file[bf_source]);
else
$original = $file[bf_source];
if (file_exists($filepath)) {
if(eregi("msie", $_SERVER[HTTP_USER_AGENT]) && eregi("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();
if (is_file("$filepath")) {
$fp = fopen("$filepath", "rb");
// 4.00 대체
// 서버부하를 줄이려면 print 나 echo 또는 while 문을 이용한 방법보다는 이방법이...
//if (!fpassthru($fp)) {
// fclose($fp);
//}
while(!feof($fp)) {
echo fread($fp, 100*1024);
flush();
}
fclose ($fp);
flush();
} else {
alert("해당 파일이나 경로가 존재하지 않습니다.");
}
} else {
alert("파일을 찾을 수 없습니다.");
}
@include_once("$board_skin_path/download.tail.skin.php");
?>
include_once("./_common.php");
@include_once("$board_skin_path/download.head.skin.php");
// 쿠키에 저장된 ID값과 넘어온 ID값을 비교하여 같지 않을 경우 오류 발생
// 다른곳에서 링크 거는것을 방지하기 위한 코드
if (!get_session("ss_view_{$bo_table}_{$wr_id}"))
alert("잘못된 접근입니다.");
$sql = " select bf_source, bf_file from $g4[board_file_table]
where bo_table = '$bo_table'
and wr_id = '$wr_id'
and bf_no = '$no' ";
$file = sql_fetch($sql);
if (!$file[bf_file])
alert_close("파일 정보가 존재하지 않습니다.");
if ($member[mb_level] < $board[bo_download_level]) {
$alert_msg = "다운로드 권한이 없습니다.";
if ($member[mb_id])
alert($alert_msg);
else
alert($alert_msg . "\\n\\n회원이시라면 로그인 후 이용해 보십시오.", "./login.php?wr_id=$wr_id&$qstr&url=".urlencode("board.php?bo_table=$bo_table&wr_id=$wr_id"));
}
// 사용자 코드 실행
@include_once("$board_skin_path/download.skin.php");
// 이미 다운로드 받은 파일인지를 검사한 후 게시물당 한번만 포인트를 차감하도록 수정
$ss_name = "ss_down_{$bo_table}_{$wr_id}";
if (!get_session($ss_name))
{
// 자신의 글이라면 통과
// 관리자인 경우 통과
if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin)
;
else if ($board[bo_download_level] > 1) // 회원이상 다운로드가 가능하다면
{
// 다운로드 포인트가 음수이고 회원의 포인트가 0 이거나 작다면
if ($member[mb_point] + $board[bo_download_point] < 0)
alert("보유하신 포인트(".number_format($member[mb_point]).")가 없거나 모자라서 다운로드(".number_format($board[bo_download_point]).")가 불가합니다.\\n\\n포인트를 적립하신 후 다시 다운로드 해 주십시오.");
// 게시물당 한번만 차감하도록 수정
insert_point($member[mb_id], $board[bo_download_point], "$board[bo_subject] $wr_id 파일 다운로드", $bo_table, $wr_id, "다운로드");
}
// 다운로드 카운트 증가
$sql = " update $g4[board_file_table] set bf_download = bf_download + 1 where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$no' ";
sql_query($sql);
set_session($ss_name, TRUE);
}
$g4[title] = "$group[gr_subject] > $board[bo_subject] > " . conv_subject($write[wr_subject], 255) . " > 다운로드";
$filepath = "$g4[path]/data/file/$bo_table/$file[bf_file]";
$filepath = addslashes($filepath);
if (preg_match("/^utf/i", $g4[charset]))
$original = urlencode($file[bf_source]);
else
$original = $file[bf_source];
if (file_exists($filepath)) {
if(eregi("msie", $_SERVER[HTTP_USER_AGENT]) && eregi("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();
if (is_file("$filepath")) {
$fp = fopen("$filepath", "rb");
// 4.00 대체
// 서버부하를 줄이려면 print 나 echo 또는 while 문을 이용한 방법보다는 이방법이...
//if (!fpassthru($fp)) {
// fclose($fp);
//}
while(!feof($fp)) {
echo fread($fp, 100*1024);
flush();
}
fclose ($fp);
flush();
} else {
alert("해당 파일이나 경로가 존재하지 않습니다.");
}
} else {
alert("파일을 찾을 수 없습니다.");
}
@include_once("$board_skin_path/download.tail.skin.php");
?>
요거 에요....;;

다운로드용 파일에선 이상이 없는것 같습니다.
혹시 head.sub.php 파일에서 소스를 추가 하거나 수정한적이 있나요.?
head.sub.php 의 소스를 올려 보세요.
혹시 head.sub.php 파일에서 소스를 추가 하거나 수정한적이 있나요.?
head.sub.php 의 소스를 올려 보세요.
<?
// 이 파일은 새로운 파일 생성시 반드시 포함되어야 함
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$begin_time = get_microtime();
if (!$g4['title'])
$g4['title'] = $config['cf_title'];
//실시간 메모사용때문에 주석처리함 by 헐랭이
// 쪽지를 받았나?
/*
if ($member['mb_memo_call']) {
$mb = get_member($member[mb_memo_call], "mb_nick");
sql_query(" update {$g4[member_table]} set mb_memo_call = '' where mb_id = '$member[mb_id]' ");
alert($mb[mb_nick]."님으로부터 쪽지가 전달되었습니다.", $_SERVER[REQUEST_URI]);
}
*/
// 현재 접속자
//$lo_location = get_text($g4[title]);
//$lo_location = $g4[title];
// 게시판 제목에 ' 포함되면 오류 발생
$lo_location = addslashes($g4['title']);
if (!$lo_location)
$lo_location = $_SERVER['REQUEST_URI'];
//$lo_url = $g4[url] . $_SERVER['REQUEST_URI'];
$lo_url = $_SERVER['REQUEST_URI'];
if (strstr($lo_url, "/$g4[admin]/") || $is_admin == "super") $lo_url = "";
// 자바스크립트에서 go(-1) 함수를 쓰면 폼값이 사라질때 해당 폼의 상단에 사용하면
// 캐쉬의 내용을 가져옴. 완전한지는 검증되지 않음
header("Content-Type: text/html; charset=$g4[charset]");
$gmnow = gmdate("D, d M Y H:i:s") . " GMT";
header("Expires: 0"); // rfc2616 - Section 14.21
header("Last-Modified: " . $gmnow);
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Cache-Control: pre-check=0, post-check=0, max-age=0"); // HTTP/1.1
header("Pragma: no-cache"); // HTTP/1.0
?>
<!-- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -->
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=<?=$g4['charset']?>">
<title><?=$g4['title']?></title>
<link rel="stylesheet" href="<?=$g4['path']?>/style.css" type="text/css">
</head>
<script language="javascript">
// 자바스크립트에서 사용하는 전역변수 선언
var g4_path = "<?=$g4['path']?>";
var g4_bbs = "<?=$g4['bbs']?>";
var g4_bbs_img = "<?=$g4['bbs_img']?>";
var g4_url = "<?=$g4['url']?>";
var g4_is_member = "<?=$is_member?>";
var g4_is_admin = "<?=$is_admin?>";
var g4_bo_table = "<?=isset($bo_table)?$bo_table:'';?>";
var g4_sca = "<?=isset($sca)?$sca:'';?>";
var g4_charset = "<?=$g4['charset']?>";
var g4_is_gecko = navigator.userAgent.toLowerCase().indexOf("gecko") != -1;
var g4_is_ie = navigator.userAgent.toLowerCase().indexOf("msie") != -1;
<? if ($is_admin) { echo "var g4_admin = '{$g4['admin']}';"; } ?>
</script>
<script language="javascript" src="<?=$g4['path']?>/js/common.js"></script>
<body topmargin="0" leftmargin="0" <?=isset($g4['body_script']) ? $g4['body_script'] : "";?>>
<a name="g4_head"></a>
// 이 파일은 새로운 파일 생성시 반드시 포함되어야 함
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$begin_time = get_microtime();
if (!$g4['title'])
$g4['title'] = $config['cf_title'];
//실시간 메모사용때문에 주석처리함 by 헐랭이
// 쪽지를 받았나?
/*
if ($member['mb_memo_call']) {
$mb = get_member($member[mb_memo_call], "mb_nick");
sql_query(" update {$g4[member_table]} set mb_memo_call = '' where mb_id = '$member[mb_id]' ");
alert($mb[mb_nick]."님으로부터 쪽지가 전달되었습니다.", $_SERVER[REQUEST_URI]);
}
*/
// 현재 접속자
//$lo_location = get_text($g4[title]);
//$lo_location = $g4[title];
// 게시판 제목에 ' 포함되면 오류 발생
$lo_location = addslashes($g4['title']);
if (!$lo_location)
$lo_location = $_SERVER['REQUEST_URI'];
//$lo_url = $g4[url] . $_SERVER['REQUEST_URI'];
$lo_url = $_SERVER['REQUEST_URI'];
if (strstr($lo_url, "/$g4[admin]/") || $is_admin == "super") $lo_url = "";
// 자바스크립트에서 go(-1) 함수를 쓰면 폼값이 사라질때 해당 폼의 상단에 사용하면
// 캐쉬의 내용을 가져옴. 완전한지는 검증되지 않음
header("Content-Type: text/html; charset=$g4[charset]");
$gmnow = gmdate("D, d M Y H:i:s") . " GMT";
header("Expires: 0"); // rfc2616 - Section 14.21
header("Last-Modified: " . $gmnow);
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Cache-Control: pre-check=0, post-check=0, max-age=0"); // HTTP/1.1
header("Pragma: no-cache"); // HTTP/1.0
?>
<!-- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -->
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=<?=$g4['charset']?>">
<title><?=$g4['title']?></title>
<link rel="stylesheet" href="<?=$g4['path']?>/style.css" type="text/css">
</head>
<script language="javascript">
// 자바스크립트에서 사용하는 전역변수 선언
var g4_path = "<?=$g4['path']?>";
var g4_bbs = "<?=$g4['bbs']?>";
var g4_bbs_img = "<?=$g4['bbs_img']?>";
var g4_url = "<?=$g4['url']?>";
var g4_is_member = "<?=$is_member?>";
var g4_is_admin = "<?=$is_admin?>";
var g4_bo_table = "<?=isset($bo_table)?$bo_table:'';?>";
var g4_sca = "<?=isset($sca)?$sca:'';?>";
var g4_charset = "<?=$g4['charset']?>";
var g4_is_gecko = navigator.userAgent.toLowerCase().indexOf("gecko") != -1;
var g4_is_ie = navigator.userAgent.toLowerCase().indexOf("msie") != -1;
<? if ($is_admin) { echo "var g4_admin = '{$g4['admin']}';"; } ?>
</script>
<script language="javascript" src="<?=$g4['path']?>/js/common.js"></script>
<body topmargin="0" leftmargin="0" <?=isset($g4['body_script']) ? $g4['body_script'] : "";?>>
<a name="g4_head"></a>
요기요;; 죄송합니다... 수고스럽게 해드려서 ㅜ.ㅜ

원인을 파악 할수가 없네요.^^
이에러가 사이트내의 파일중 소스수정이나 추가 등을 한후에 나오는 경우라면 수정이나 추가 하기전의
이전의 상태로 되돌려 보세요. 특히 다운로드와 관련된 스킨등에서 소스 추가나 수정을 한적이 있는지
살펴보세요.
이에러가 사이트내의 파일중 소스수정이나 추가 등을 한후에 나오는 경우라면 수정이나 추가 하기전의
이전의 상태로 되돌려 보세요. 특히 다운로드와 관련된 스킨등에서 소스 추가나 수정을 한적이 있는지
살펴보세요.
네 살펴 주셔서 감사 합니다.. 저 2 파일엔 문제가 없는거 같네요 ....
좋은밤 되세요^^
좋은밤 되세요^^

비슷한 에러와 관련된 질답 내용이므로 참고해 보세요,^^
http://sir.co.kr/bbs/board.php?bo_table=g4_qa&sca=&sfl=wr_subject%7C%7Cwr_content&stx=headers+already
http://sir.co.kr/bbs/board.php?bo_table=g4_qa&sca=&sfl=wr_subject%7C%7Cwr_content&stx=headers+already
@include_once("$board_skin_path/download.head.skin.php");
아래에
ob_start(); 를 줘보시죠?
아래에
ob_start(); 를 줘보시죠?
달수님 달아 보았는데 안되요 ㅜ.ㅜ
아우 아무리 봐도 모르겠네요 나중에 우연히 라도 방법이 생기길
바래야 겠어요 ㅜ.ㅜ
바래야 겠어요 ㅜ.ㅜ

저도 비슷한 증상이었는데
ob_start();
삽입하고 나니 해결되었네요
오달수님 감사합니다..^^
ob_start();
삽입하고 나니 해결되었네요
오달수님 감사합니다..^^