묻고답하기
첨부파일 다운로드 폴더변경시 에러
2010.06.16 15:23
서버환경은
CentOS 5.5 64bit
Apache 2.2.15
PhP 5.2.13
eaccelerator 0.9.6.1
ZendOptimazer 3.3.9
mysql 5.1.47
에서
제로보드4를 사용중입니다.
첨부파일 다운로드시에 다운로드 받을 폴더를 변경하거나 하면
파일이 원래 크기보다 작은 사이즈로 받아집니다.
다시 다운로드 받으면 정상적인 파일크기로 진행됩니다.
다운로드 파일의 코딩은 아래와 같습니다.
$filename="file_name".$filenum;
$filename2="s_".$filename;
$filedisp= $data[$filename2];
$limth = round(1024*256); //속도조절 부분 default : 120
$fsize = filesize($data[$filename]);
if(file_exists($data[$filename]) && is_file($data[$filename])) {
$filedisp = rawurlencode($filedisp);
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: ".$fsize);
header("content-disposition: attachment; filename=\"$filedisp\"");
header("content-transfer-encoding: binary");
} else {
header("content-type: file/unknown");
header("content-length: ".$fsize);
header("content-disposition: attachment; filename=\"$filedisp\"");
header("content-description: php generated data");
}
header("pragma: no-cache");
header("expires: 0");
flush();
$fd = fopen($data[$filename], "rb");
while(!feof($fd)) {
echo fread($fd, $limth);
flush();
}
fclose($fd);
flush();
}
해결방안을 아시는 분의 도움을 기다립니다.