php做控制下载速度代码 为什么又生带宽,又省cpu 和内存呢?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

php做控制下载速度代码 为什么又生带宽,又省cpu 和内存呢?

2016-03-06 13:29:27 1718 1
 <?php
/* Source: http://www.apphp.com/index.php?snippet=php-download-file-with-speed-limit */
    /* set here a limit of downloading rate (e.g. 10.20 Kb/s) */
   // $download_rate = 10.20;
   $download_rate = 200;
   set_time_limit(0);

    $download_file = 'myfile.rar';  
    $target_file = 'PHP敏捷开发CodeIgniter框架.rar';

    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'); //HTTP Content-type ( 二进制流,不知道下载文件类型)
        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!');
    }
    ?>

怎么又生带宽,又省cpu 和内存?
1.是不sleep 控制下载速度好呢,还是sleep一下省下带宽呢?
2,每次读取2进制多少个字节合适呢,还是越大越好,还是小点分多次读取好?
本人小白,先谢过各位大侠了。。

取消 提交回答
全部回答(1)
  • 小旋风柴进
    2019-07-17 18:54:27

    slepp会让出CPU时间片,从而可以达到降低CPU,下载带宽都会降低。
    一般下载缓冲区控制在一个MTU的附近,然后再微调,达到一个最优结果。

    0 0
相关问答

1

回答

PHP 读取TXT文件的相关问题,报错

2020-06-20 21:31:25 2494浏览量 回答数 1

1

回答

PHP如何读取WEB服务器上的JS文件源代码,报错

2020-06-20 21:30:31 2440浏览量 回答数 1

1

回答

网站默认的首页 index.php 能访问,但是文件里面找不到这个文件。。

2018-12-13 20:25:57 759浏览量 回答数 1

1

回答

首页index.php文件没有放到htdocs文件夹根目录下 出现403错误

2018-10-12 20:49:10 1236浏览量 回答数 1

1

回答

各路大神看看我的PHP文件出了什么问题 谢谢大家了QAQ

2018-05-03 21:14:42 1609浏览量 回答数 1

1

回答

在浏览器中打开php文件时,是Linux中的哪个用户执行的?

2017-11-30 17:36:53 1719浏览量 回答数 1

0

回答

如何通过IIS7.5和php.ini配置文件调整网站后上传文件大小限制

2017-11-02 15:04:04 2392浏览量 回答数 0

8

回答

文件存贮在阿里云的OSS,PHP怎么实现多文件打包下载?

2017-03-10 11:14:31 11948浏览量 回答数 8

1

回答

新建PHP的utf-8无dom文件,关了再打开变成ANSI了,怎么办?

2016-06-14 14:25:47 2264浏览量 回答数 1

1

回答

关于在linux中定时执行php文件的问题!

2016-06-13 11:00:26 1634浏览量 回答数 1
2709
文章
6591
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载