本文实例讲述了php控制文件下载速度的方法。分享给大家供大家参考。具体实现方法如下:
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
|
<?php /* * set here a limit of downloading rate (e.g. 10.20 Kb/s) */ $download_rate = 10.20; $download_file = 'download-file.zip' ; $target_file = 'target-file.zip' ; if ( file_exists ( $download_file )){ /* headers */ header( 'Last-Modified:' . gmdate ( 'D, d M Y H:i:s' ). 'GMT' ); header( 'Cache-control: private' ); header( 'Content-Type: application/octet-stream' ); header( 'Content-Length: ' . filesize ( $download_file )); header( 'Content-Disposition: filename=' . $target_file ); /* flush content */ flush (); /* open file */ $fh = @ fopen ( $download_file , 'r' ); while (! feof ( $fh )){ /* send only current part of the file to browser */ print fread ( $fh , round ( $download_rate * 1024)); /* flush the content to the browser */ flush (); /* sleep for 1 sec */ sleep(1); } /* close file */ @fclose( $fh ); } else { die ( 'Fatal error: the ' . $download_file . ' file does not exist!' ); } ?> |
希望本文所述对大家的php程序设计有所帮助。