11
08月
2015
40. 限制文件下载的速度
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
<?php
// local file that should be send to the client
$local_file = 'test-file.zip' ;
// filename that the user gets as default
$download_file = 'your-download-name.zip' ;
// set the download rate limit (=> 20,5 kb/s)
$download_rate = 20.5;
if ( file_exists ( $local_file ) && is_file ( $local_file )) {
// send headers
header( 'Cache-control: private' );
header( 'Content-Type: application/octet-stream' );
header( 'Content-Length: ' . filesize ( $local_file ));
header( 'Content-Disposition: filename=' . $download_file );
// flush content
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!' );
}
?>
|
特殊说明,本文版权归 ning个人博客 所有带原创标签请勿转载,转载请注明出处.