Home  >  Article  >  Backend Development  >  How to control file download speed in php_PHP tutorial

How to control file download speed in php_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:00:38761browse

How to control file download speed in php

This article mainly introduces the method of controlling file download speed in php, and analyzes the skills of php file operation with examples, which has certain reference value. , friends in need can refer to it

The example in this article describes the method of controlling file download speed in PHP. Share it with everyone for your reference. The specific implementation method is as follows:

?

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

/*

* 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!');

}

?>

1 2

3

4 5

67 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
<๐ŸŽœ>/*<๐ŸŽœ> <๐ŸŽœ>* 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!');<๐ŸŽœ> <๐ŸŽœ>}<๐ŸŽœ> <๐ŸŽœ>?>
I hope this article will be helpful to everyoneโ€™s PHP programming design. http://www.bkjia.com/PHPjc/973122.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/973122.htmlTechArticleHow to control file download speed in php. This article mainly introduces the method of controlling file download speed in php and analyzes it with examples. The skills of operating files in PHP have certain reference value. Friends who need it...
Statement๏ผš
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn