웹모아
웹모아[손님] 검색   로그인 / 회원가입    



 
토막소스
 


PHP- 파일 다운로드시 속도 제한하기
  2013-03-23 16:07:16 댓글:(0)   조회:1795



파일 전송은 네트워크에 많은 부하를 준다. 파일 용량이 수십, 수백 Mb 혹은 그 이상인 경우 그대로 내려받게 하지 말고 전송속도를 제한하는것이 좋다.
 
 filesize 함수를 사용하여 지정된 사이즈보다 작으면 그대로 전송하고, 크다면 전송량을 제한 하는것도 좋은 방법이다.

<?
// 서버에 저장된 파일명
$local_file = 'Original_File.zip';
 
// 전송속도(다운로드 되는 속도) 제한 (=--> 50 kb/s)
$download_rate = 50;
 
// 반드시 다운로드할 파일이 있을 때에 실행되도록 한다.
if(file_exists($local_file) && is_file($local_file))
{
    // 헤더에 파일 관련 정보 전송
    header('Cache-control: private');
    header('Content-Type: application/octet-stream');
    header('Content-Length: '.filesize($local_file));
    header('Content-Disposition: filename='.$local_file);
  
    // flush 함수는 출력물을 브라우저로 보내고, 출력 버퍼를 비우는 역할을 한다.
    flush();
  
    // open file stream
    $file = fopen($local_file, "r");
  
    while (!feof($file))
    {
        // send the current file part to the browser
        print fread($file, round($download_rate * 1024));
  
        // flush the content to the browser
        flush();
  
        // sleep one second
        sleep(1);
    }
    // close file stream
    fclose($file);
}
else
{
    die('Error: The file '.$local_file.' does not exist!');
}
?>



 댓글 (0)


토막소스
페이지: 1 / 4   


   이미지 사이즈 비율대로 축소1034
PHP- 파일 다운로드시 속도 제한하기1796
     파일 다운로드 속도 제한1514
   ffmpeg 설치 후 php 업로드 간단 테스트2438
   새청없이 주소검색2088
   EUC-KR<=>UTF-8 상호변환 하기1997
   키를 이용한 암호화/복호화 함수입니다.1625
   간단한 암호화/복호화 함수1709
   PHP로 작동하는 RSS 읽는 함수1531
   [PHP] 자동 썸네일 이미지 만들기2143
   내용 검색시 검색어 내용 포함되어있는 부분 출력하기1500
   사이트 방문경로와 검색한 단어 알기1477
   이미지 실제경로를 않보여주고 이미지 출력하기(2) 4995
    Ajax로 구연한 실시간 서버시간 출력2362
   ajax refresh(2초에 한번 자동 페이지로딩5220
   refresh.php1496
   연합뉴스 샘플1637
   구글뉴스1467
   웹페이지의 문자열 가져오기 소스1718
   XML<-->Array 클래스(4) 1774
   str_replace() 한글치환 보강1883
   php로 텍스트라인에서 영문 한글 특수문자 숫자 지2893
   추천 하려면..어떻게 해야하죠?(1) 1543
   들어온 경로 URL 기록 남기기1692
   중복 로그인 방지법4419
   세션 DB 처리 소스1612
   한페이지에서 체크된것은 Y, 아니면 N으로 업데이트(1) 1598
   [제로보드] 쪽지 도착하면 자동으로 뜨게 하기(홈마스타)1573
   PHP특강(28)-쪽지 확인창 띄워주기(홈마스타)1783
   [초보강좌] 세션을 DB로 관리하기 + 쪽지 확인하(홈마스타)792
[1]  [2]  [3]  [4]  

복수단어 검색은 공백(space)로 구분해 주세요. 1





최근 글
[손님]

인기 글
[손님]
[홈마스타] [RE] input type=\\