php下载文件函数

  1. 代码:
    /*
    @desc:php下载文件函数,支持限速
    @param name 待下载文件名
    @param rate 速度,单位kb
    */
    function download($file,$rate=false){
    set_time_limit(0);
    $content = file_get_contents($file);
    $filesize = strlen($content);
    header ('Content-Length: '.$filesize);
    header ('Content-type: application/file');
    header ("Content-Disposition: attachment; filename=".basename($file));
    if($rate){
        ob_start();
        $fr=fopen($file,"rb");
        while (!feof($fr)){
            $data = fread($fr,round($rate*1024));
            echo $data;
            ob_flush();
            flush();
            sleep(1);
        }
        if($fr){
            fclose($fr);
        }
    }else{
        readfile($file);
    }
    }
  2. 测试:
    download('2018.rar',128);
  3. 输出:
    php下载文件函数

猜你喜欢

转载自blog.51cto.com/12173069/2126661