php控制文件下載速度

xm52 9年前發布 | 922 次閱讀 PHP

<?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!');
}
?></pre> 


 本文由用戶 xm52 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!