http://www.webtr.co.kr/Test.zip 와 같이 직접 파일을 링크할 경우에는 웹서버에서
RANGE 를 지원하여 이어 받기가 가능하지만 http://www.webtr.co.kr/download.php 와 같이 스크립트를 통해 다운로드시에는 아래와 같은 작업을 하셔야 합니다.
$storage = "./files"; // 저장할 디렉토리명
$filename = $_GET['filename']; // 파일명
$filesize = filesize($storage . "/". $filename); // 파일크기
$speed = 1000; // 제한속도(초당 1M 를 넘지 못하도록 합니다.)
$seek_start = 0;
$seek_end = 0;
if(isset($_SERVER['HTTP_RANGE'])) {
$seek_range = substr($_SERVER['HTTP_RANGE'] , 6);
$range = explode( '-', $seek_range);
if($range[0] > 0) { $seek_start = intval($range[0]); }
if($range[1] > 0) { $seek_end = intval($range[1]); }
}
$file = $storage . "/". $filename;
// 파일을 오픈 한다.
$fp = fopen($file, "rb");
// 파일 포인터 이동
fseek($fp,$seek_start);
// 다운로드 헤더를 보내고
header("Cache-control: private");
header("Content-Type: application/octet-stream");
header("Content-Length: ".$filesize-$seek_start);
header("Content-Disposition: filename=".$filename);
// 파일을 보내보자!!
while(!feof($fp)) {
set_time_limit(0);
echo fread($fp,round(1024*$speed));
flush();
sleep(1);
}
fclose($fp);
http://www.webtr.co.kr/manual <- 샘플보기<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:12:10 PHP & HTML에서 이동 됨]</div>
RANGE 를 지원하여 이어 받기가 가능하지만 http://www.webtr.co.kr/download.php 와 같이 스크립트를 통해 다운로드시에는 아래와 같은 작업을 하셔야 합니다.
$storage = "./files"; // 저장할 디렉토리명
$filename = $_GET['filename']; // 파일명
$filesize = filesize($storage . "/". $filename); // 파일크기
$speed = 1000; // 제한속도(초당 1M 를 넘지 못하도록 합니다.)
$seek_start = 0;
$seek_end = 0;
if(isset($_SERVER['HTTP_RANGE'])) {
$seek_range = substr($_SERVER['HTTP_RANGE'] , 6);
$range = explode( '-', $seek_range);
if($range[0] > 0) { $seek_start = intval($range[0]); }
if($range[1] > 0) { $seek_end = intval($range[1]); }
}
$file = $storage . "/". $filename;
// 파일을 오픈 한다.
$fp = fopen($file, "rb");
// 파일 포인터 이동
fseek($fp,$seek_start);
// 다운로드 헤더를 보내고
header("Cache-control: private");
header("Content-Type: application/octet-stream");
header("Content-Length: ".$filesize-$seek_start);
header("Content-Disposition: filename=".$filename);
// 파일을 보내보자!!
while(!feof($fp)) {
set_time_limit(0);
echo fread($fp,round(1024*$speed));
flush();
sleep(1);
}
fclose($fp);
http://www.webtr.co.kr/manual <- 샘플보기<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:12:10 PHP & HTML에서 이동 됨]</div>
게시글 목록
| 번호 | 제목 |
|---|---|
| 11797 | |
| 11796 |
기타
Progress 로딩바
|
| 29161 |
HTML
체크박스 전체선택 소스
|
| 11795 | |
| 11794 | |
| 11793 | |
| 11789 | |
| 11784 | |
| 29160 | |
| 11781 |
Flash
도와주세요..
2
|
| 11778 |
PHP
SSL 관련 링크
2
|
| 24966 | |
| 24964 | |
| 24963 |
제안서
회사약식제안서_기타
|
| 24961 | |
| 24960 | |
| 24950 |
제안서
홈페이지개발제안서_개발
9
|
| 24948 | |
| 24947 | |
| 24946 | |
| 24945 | |
| 24944 |
계약서
표준임대차계약서_부동산
|
| 24943 | |
| 24942 | |
| 24941 | |
| 24940 | |
| 24939 | |
| 29158 | |
| 11777 |
MySQL
Logrotate
|
| 11774 |
JavaScript
startssl 자동실행
2
|
| 11772 | |
| 11771 | |
| 11770 |
MySQL
mysql error code
|
| 11769 |
MySQL
Mysql - ErrCode
|
| 11765 | |
| 11764 |
기타
날짜 맞추기
|
| 11763 | |
| 11758 | |
| 29148 |
HTML
괜찮은 레이어 팝업창 소스
9
|
| 11752 | |
| 11747 | |
| 11746 | |
| 29147 | |
| 11744 |
JavaScript
플래쉬 초보입니다...질문좀 ^^
1
|
| 11735 |
Flash
퀵메뉴 - 수정해서 쓰세요!^^
8
|
| 29145 | |
| 11733 |
기타
히든필드 처리하기
1
|
| 11731 |
JavaScript
경고창의 폰트 조절.....
1
|
| 11730 | |
| 24937 | |
| 11728 | |
| 11727 | |
| 11725 | |
| 11717 | |
| 29138 | |
| 11716 | |
| 11715 |
JavaScript
특정 프로세스가 연 파일 보기.
|
| 11714 | |
| 11711 |
기타
CS3 간단 리뷰
2
|
| 11710 |
Flash
플래시 파일명 대신 외부파일 호출
|
| 11708 |
Flash
플래시 파일명 대신 외부파일 호출
1
|
| 11700 |
MySQL
mysql 원격접속방법
7
|
| 11697 | |
| 24936 | |
| 24935 | |
| 24934 | |
| 24933 | |
| 24932 | |
| 24931 | |
| 24930 | |
| 24929 | |
| 24928 | |
| 24927 | |
| 24926 |
계약서
주식양수도계약서_경리
|
| 24925 | |
| 24922 |
제안서
제안서_기업일반
2
|
| 24921 |
계약서
전세계약서_일반계약
|
| 24920 |
계약서
전세계약서_부동산
|
| 24919 | |
| 24918 | |
| 24917 | |
| 24916 | |
| 24915 |
계약서
장비임대 계약서_영업
|
| 24914 | |
| 24913 | |
| 11696 |
기타
메뉴를 찾습니다
|
| 11694 | |
| 24912 | |
| 24911 | |
| 24910 | |
| 24909 | |
| 24908 | |
| 24907 | |
| 24906 | |
| 11692 | |
| 24905 | |
| 24904 | |
| 24903 | |
| 24902 |
계약서
연봉제근로계약서
|
| 24901 |
계약서
연봉계약서-근로_기타
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기