note 30740 added to function.fpassthru
| From: | Omega2k at web dot de | Date: | Thu, 27 Mar 2003 11:07:51 +0000 |
| Subject: | note 30740 added to function.fpassthru | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-45886@lists.php.net to get a copy of this message | ||
To throttle download-speed of specific files this works fine in my board hosted on my local machine:
//#######################################
$big_file=filesize($completeFilePath)/1024; //size of file in kb
header('Content-Type: '.$mime_type);
header('Content-disposition:
'.$content_disp.'filename="'.$attachment_name.'"');
header('Cache-Control: no-cache');
header('Pragma: no-cache');
header('Expires: 0');
header('Content-Length: '.(string)(filesize($completeFilePath)));
$fp=fopen($completeFilePath,'r');
while(!feof($fp)) {
$buffer = fread($fp, 1024*6); //speed-limit 6kb/s
if ($big_file>32 &&
$extension!="jpg" &&
$extension!="jpeg" &&
$extension!="gif" &&
$extension!="png" &&
$extension!="txt")
sleep(1); //if filesize>32kb and no smallfile like jpg,gif or so - wait 1 second
print $buffer;
}
fclose($fp);
header ("Connection: close");
//#######################################
I think it's the easiest way to slow down downloading files without using a loop or for-next -
this really saves performace of php and is quite exact by using 1024*number_of_kb in one second...
Thats all
Greetings, omega2k.dynu.com
--
http://www.php.net/manual/en/function.fpassthru.php
http://master.php.net/manage/user-notes.php?action=edit+30740
http://master.php.net/manage/user-notes.php?action=delete+30740
http://master.php.net/manage/user-notes.php?action=reject+30740