PHP – Download File With a Speed Limit

This PHP example helps to allows you set a limitation for download rate of the file that visitors download from your site.

Code Example:

/* set here a limit of downloading rate (e.g. 10.20 Kb/s) */
$download_rate = 10.20;
$download_file = '';
$target_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 */
	/* open file */
	$fh = @fopen($download_file, 'r');
		/* send only current part of the file to browser */
		print fread($fh, round($download_rate * 1024));
		/* flush the content to the browser */
		/* sleep for 1 sec */
	/* close file */
	die('Fatal error: the '.$download_file.' file does not exist!');

Post to Twitter Post to Digg Post to Facebook Post to Google Buzz Send Gmail

Leave a Comment

Your email address will not be published. Required fields are marked *