[php] 파일 다운로드 속도 제한
로빈아빠
본문
파일 다운로드 속도 제한
자원을 골고루 나눠 줄수 있는 방법인것 같습니다.
fread ( int fp, int length)
버 전: PHP 3, PHP 4
기 능: Binary-safe 파일 읽기
설 명: fread()는 fp에 의해 참조가 되는 파일 포인터로부터 length를 바이트로 증가시키며 읽습니다. length바이트가 읽혔거나 파일의 끝에 도달되거나 둘중에 먼저 끝나는 것이 있으면 읽기가 종료됩니다.
float round ( float val [, int precision])
버 전: PHP 3, PHP 4
기 능: 실수를 반올림합니다.
설 명: 주어진 val값의 반올림한 값을 주어진 돌려준다.
precision이 있을 경우 소수점 다음 precision 자리수 까지 돌려준다.
참고: precision 는 PHP 4 에서만 유용하다.
브라우즈에서 실시간으로 음악을 다운로드 받는 간단한 예제
출처: http://phpschool.com/bbs2/inc_view.html?id=9957&code=tnt2
자원을 골고루 나눠 줄수 있는 방법인것 같습니다.
fread ( int fp, int length)
버 전: PHP 3, PHP 4
기 능: Binary-safe 파일 읽기
설 명: fread()는 fp에 의해 참조가 되는 파일 포인터로부터 length를 바이트로 증가시키며 읽습니다. length바이트가 읽혔거나 파일의 끝에 도달되거나 둘중에 먼저 끝나는 것이 있으면 읽기가 종료됩니다.
// 파일의 내용을 문자열로 가져오기 $filename = "/usr/local/something.txt"; $fd = fopen ($filename, "r"); $contents = fread ($fd, 파일의크기 ($filename)); fclose ($fd);
float round ( float val [, int precision])
버 전: PHP 3, PHP 4
기 능: 실수를 반올림합니다.
설 명: 주어진 val값의 반올림한 값을 주어진 돌려준다.
precision이 있을 경우 소수점 다음 precision 자리수 까지 돌려준다.
참고: precision 는 PHP 4 에서만 유용하다.
$foo = round(3.4); // $foo == 3.0 $foo = round(3.5); // $foo == 4.0 $foo = round(3.6); // $foo == 4.0 $foo = round(3.6, 0); // $foo == 4 $foo = round(1.95583, 2); // $foo == 1.96 $foo = round(1241757, -3); // $foo == 1242000
브라우즈에서 실시간으로 음악을 다운로드 받는 간단한 예제
출처: http://phpschool.com/bbs2/inc_view.html?id=9957&code=tnt2
<?php $file = "test.mp3"; // 파일을 클라이언트가 받는다. $speed = 8.5; // 8,5 kb/s 비율로 다운로드를 받는다. if(file_exists($file) && is_file($file)) { header("Cache-control: private"); header("Content-Type: audio/mp3"); header("Content-Length: ".filesize($file)); header("Content-Disposition: filename={$file}"); flush(); $fp = fopen($file, "r"); while(!feof($fp)) { echo fread($fp, round($speed*1024)); flush(); sleep(1); } fclose ($fp); } ?>
관련링크
댓글목록
등록된 댓글이 없습니다.