IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
> PHP 下提供文件下载及限速, http://www.njphp.cn/bbs/redirect.php?tid=1280&goto=lastpost
猫猫草
post 2009-09-22 15:46:08, Tue
Post #1


猫猫猫
***

Group: Power Cat
Posts: 626
Joined: 2006-12-8
Member No.: 2



代码
// 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!');
}
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



Lo-Fi Version Time is now: 2024-11-1 10:35