다운로드 문제. 정보
다운로드 문제.본문
마땅히 올릴곳이 없어서 여기다 올려봅니다.
오전에 다운로드 문제로 질문했었는데.
아직 완벽한 해결이 되질 않아서 올립니다.
오전에 올린 질문 내용은
-----------------------------------------------------------------------------------
그누보드 다운로드 클릭시
다운로드 창이 뜨기 까지의 시간이 너무 비약적으로 깁니다.
105.4K 정도 크기의 파일은 괜찮은데.
652.4K 정도 크기의 파일 부터는 사이트가 프리징되고
(해당페이지에선 움직일수 있지만 / 접속속도 극악으로 느려짐 / 페이지 이동도 안됨.)
기다려도 다운로드 창이 뜨질 않는군요
다운로드 창이 빨리뜨게 할순 없을까요 ㅠㅠ
-----------------------------------------------------------------------------------
였습니다만 좀더 정확하게 이것저것 실험해봐서 결론을 낸 새로운 질문입니다.
1. download.php 에서 $download_rate 를 50000을 주면 다운로드 창은 빨리뜨지만.
다운받으면 파일 용량이 0 입니다.
2. 정상적으로 다운이 된다는 사람이 있다.
3. 파일 다운로드 소스를 인터넷에서 찾아서 바꿔봐도 증상은 똑같습니다.
그러니까 이부분을
-----------------------------------------------------------------------------------
if (file_exists($filepath)) {
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();
if (is_file("$filepath")) {
$fp = fopen("$filepath", "rb");
// 4.00 대체
// 서버부하를 줄이려면 print 나 echo 또는 while 문을 이용한 방법보다는 이방법이...
//if (!fpassthru($fp)) {
// fclose($fp);
//}
$download_rate = 40000;
while(!feof($fp)) {
// 1초 정도만 다운로드 되고, 다운로드가 안되는 경우 또는 다운로드 속도의 조정이 필요한 경우
// 다운로드 rate = fread 문장의 100*1024(100k) * 1초 sleep(1) = 초당 100k
echo fread($fp, round($download_rate * 1024));
flush();
sleep(1);
}
fclose ($fp);
flush();
} else {
alert("해당 파일이나 경로가 존재하지 않습니다.");
}
} else {
alert("파일을 찾을 수 없습니다.");
}
-----------------------------------------------------------------------------------
옛날 그누보드 소스로 바꿔도...(예전에 문제 없이 다운로드 되던소스)
-----------------------------------------------------------------------------------
if (preg_match("/^utf/i", $g4[charset]))
$original = urlencode($file[bf_source]);
else
$original = $file[bf_source];
@include_once("$board_skin_path/download.tail.skin.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();
$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();
-----------------------------------------------------------------------------------
로 바꿔도 증상이 똑같습니다. 분명이 전엔 아무런 이상없이 다운받아지던건데.
마지막으로 요즘 저는 그누보드 스킨 /빌더 게시판에서 다운을 받으면
파일이 깨져버리고 저희 사이트와 증상이 비슷하던데.....
이것도 관련있는건가요....
문제를 해결해주시는 분께. 여기 걸려있는 포인트 + 1000포인트를 더드립니다.
테스트 해보실분은 해주시기 바랍니다.
http://animo.ba.ro/main/bbs/board.php?bo_table=ani_garry&wr_id=21
테스터 아이디 : ani880616
패스워드 : 1234
오전에 다운로드 문제로 질문했었는데.
아직 완벽한 해결이 되질 않아서 올립니다.
오전에 올린 질문 내용은
-----------------------------------------------------------------------------------
그누보드 다운로드 클릭시
다운로드 창이 뜨기 까지의 시간이 너무 비약적으로 깁니다.
105.4K 정도 크기의 파일은 괜찮은데.
652.4K 정도 크기의 파일 부터는 사이트가 프리징되고
(해당페이지에선 움직일수 있지만 / 접속속도 극악으로 느려짐 / 페이지 이동도 안됨.)
기다려도 다운로드 창이 뜨질 않는군요
다운로드 창이 빨리뜨게 할순 없을까요 ㅠㅠ
-----------------------------------------------------------------------------------
였습니다만 좀더 정확하게 이것저것 실험해봐서 결론을 낸 새로운 질문입니다.
1. download.php 에서 $download_rate 를 50000을 주면 다운로드 창은 빨리뜨지만.
다운받으면 파일 용량이 0 입니다.
2. 정상적으로 다운이 된다는 사람이 있다.
3. 파일 다운로드 소스를 인터넷에서 찾아서 바꿔봐도 증상은 똑같습니다.
그러니까 이부분을
-----------------------------------------------------------------------------------
if (file_exists($filepath)) {
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();
if (is_file("$filepath")) {
$fp = fopen("$filepath", "rb");
// 4.00 대체
// 서버부하를 줄이려면 print 나 echo 또는 while 문을 이용한 방법보다는 이방법이...
//if (!fpassthru($fp)) {
// fclose($fp);
//}
$download_rate = 40000;
while(!feof($fp)) {
// 1초 정도만 다운로드 되고, 다운로드가 안되는 경우 또는 다운로드 속도의 조정이 필요한 경우
// 다운로드 rate = fread 문장의 100*1024(100k) * 1초 sleep(1) = 초당 100k
echo fread($fp, round($download_rate * 1024));
flush();
sleep(1);
}
fclose ($fp);
flush();
} else {
alert("해당 파일이나 경로가 존재하지 않습니다.");
}
} else {
alert("파일을 찾을 수 없습니다.");
}
-----------------------------------------------------------------------------------
옛날 그누보드 소스로 바꿔도...(예전에 문제 없이 다운로드 되던소스)
-----------------------------------------------------------------------------------
if (preg_match("/^utf/i", $g4[charset]))
$original = urlencode($file[bf_source]);
else
$original = $file[bf_source];
@include_once("$board_skin_path/download.tail.skin.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();
$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();
-----------------------------------------------------------------------------------
로 바꿔도 증상이 똑같습니다. 분명이 전엔 아무런 이상없이 다운받아지던건데.
마지막으로 요즘 저는 그누보드 스킨 /빌더 게시판에서 다운을 받으면
파일이 깨져버리고 저희 사이트와 증상이 비슷하던데.....
이것도 관련있는건가요....
문제를 해결해주시는 분께. 여기 걸려있는 포인트 + 1000포인트를 더드립니다.
테스트 해보실분은 해주시기 바랍니다.
http://animo.ba.ro/main/bbs/board.php?bo_table=ani_garry&wr_id=21
테스터 아이디 : ani880616
패스워드 : 1234
댓글 전체
if (!fpassthru($fp)) {
fclose($fp);
}
아래의 내용은 주석처리
$download_rate = 40000;
while(!feof($fp)) {
// 1초 정도만 다운로드 되고, 다운로드가 안되는 경우 또는 다운로드 속도의 조정이 필요한 경우
// 다운로드 rate = fread 문장의 100*1024(100k) * 1초 sleep(1) = 초당 100k
echo fread($fp, round($download_rate * 1024));
flush();
sleep(1);
}
fclose ($fp);
fclose($fp);
}
아래의 내용은 주석처리
$download_rate = 40000;
while(!feof($fp)) {
// 1초 정도만 다운로드 되고, 다운로드가 안되는 경우 또는 다운로드 속도의 조정이 필요한 경우
// 다운로드 rate = fread 문장의 100*1024(100k) * 1초 sleep(1) = 초당 100k
echo fread($fp, round($download_rate * 1024));
flush();
sleep(1);
}
fclose ($fp);
해봤는데..... 되질 않는군요 ....