파일 다운시 에러 정보
파일 다운시 에러
본문
파일 다운로드할때 아래 파일(down.php)를 통해서 다운로드를 하는데요.
값은 down.php?file=<?=$fname[0]?>&path=<?=$path?> 이렇게 넘기고 있고요..
한글로된 문서든 영문으로된 문서든 2M가 안넘으면 다운로드가 잘 되는데
희한하게 2M가 넘으면 다운로드가 안되네요;;;
에러메시지는 일단 98% 에서 잘 안넘어가다가 더 기다리면..
'액세스할 수 없습니다. 파일이 손상되었거나 응답하지 않는 서버에 있거나 읽기 전용일 수 있습니다.'
이렇게 나오는데 파일엔 이상이 없는거 확인 했습니다.
이거 덕분에 욕좀많이 먹어서 오래살거같긴한데...
저와 비슷한증상 겪으셔서 해결하신분 있으시면 좀 알려주세요~
도움 부탁드립니다. ^^
<? if(isset($_REQUEST["file"])){
$filename = $_REQUEST["file"];
}else{
$filename = "";
}
$doc_root = $_SERVER[DOCUMENT_ROOT];
$filename = trim($filename);
$file = $doc_root.$path.$filename;
$file_size = filesize($file);
// 접근경로 확인
//if (!eregi($_SERVER['HTTP_HOST'], $_SERVER['HTTP_REFERER'])) Error("외부에서는 다운로드 받으실수 없습니다.");
if(eregi("(MSIE 5.0|MSIE 5.1|MSIE 5.5|MSIE 6.0)", $_SERVER["HTTP_USER_AGENT"]) && !eregi("(Opera|Netscape)", $_SERVER["HTTP_USER_AGENT"])) {
Header("Content-type: application/octet-stream");
Header("Content-Length: ".$file_size);
Header("Content-Disposition: attachment; filename=".$filename);
Header("Content-Transfer-Encoding: binary");
Header("Pragma: no-cache");
Header("Expires: 0");
} else {
Header("Content-type: file/unknown");
Header("Content-Length: ".$file_size);
Header("Content-Disposition: attachment; filename=".$filename);
Header("Content-Description: PHP3 Generated Data");
Header("Pragma: no-cache");
Header("Expires: 0");
}
if (is_file($file)) {
$fp = fopen($file, "rb");
if (!fpassthru($fp))
fclose($fp);
}else{
echo "<script>";
echo "alert('파일이 존재하지 않습니다!!');";
echo "history.back(-2);";
echo "</script>";
exit;
}?>
댓글 전체

5.0.5 로 업뎃하니 문제 해결 ^^