国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

封裝一個(gè)PHP可控限速下載文件的方法

這篇具有很好參考價(jià)值的文章主要介紹了封裝一個(gè)PHP可控限速下載文件的方法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

說(shuō)明

  1. 實(shí)測(cè)下載后的文件與源文件哈希值一致,保證數(shù)據(jù)傳輸安全一致。
  2. 如果下載到的文件每次都165KB左右,和源文件大小不符合,需要用IDE打開(kāi)下載的文件,看看是否報(bào)致命錯(cuò)誤,提示超過(guò)最大內(nèi)存限制。這個(gè)與php.ini中的“memory_limit”參數(shù)配置有關(guān),所以方法的$kilobyte參數(shù)不要設(shè)置過(guò)大。
  3. 如果實(shí)際下載速率低于代碼中配置的速率,需要考慮是云服務(wù)器帶寬或者其中某個(gè)網(wǎng)絡(luò)鏈路的問(wèn)題。
  4. 由于添加了下載響應(yīng)頭的緣故,所以遇到任何文件都會(huì)強(qiáng)制下載。

代碼

/**
 * @function 自定義文件下載速度
 * @param    $file_path string 文件路徑
 * @param    $kilobyte  int    每秒發(fā)送多少千字節(jié)數(shù)據(jù)(有波動(dòng))
 * @param    $file_name string 文件名,無(wú)需后綴,自定義下載的初始文件名
 * @return   void
 * @other    并未判斷文件是否存在的邏輯,所以請(qǐng)前置邏輯判斷。
 */
function speedLimitedDownload($file_path, $kilobyte = 1024, $file_name = '') {
    $file_info = pathinfo($file_path);
    header('Content-Disposition:attachment; filename="'. ($file_name ? $file_name . '.' . $file_info['extension'] : $file_info['basename']) . '"');
    header('Content-Type:"' . mime_content_type($file_path) . '"');
    header('Content-Length:' . filesize($file_path));

    //使用二進(jìn)制和只讀方式打開(kāi)文件資源
    $handle = fopen($file_path, 'rb');
    //判斷文件指針是否到了文件末尾
    while (! feof($handle)) {
        // 輸出數(shù)據(jù)到客戶端
        echo fread($handle, $kilobyte * 1024);
        //刷新緩沖區(qū),使其直接輸出到客戶端
        flush();
        //此處意思是設(shè)置每秒輸出多少個(gè)字節(jié)的數(shù)據(jù)。
        sleep(1);
    }
    fclose($handle);
}

文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-711126.html

到了這里,關(guān)于封裝一個(gè)PHP可控限速下載文件的方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • excel 下載方法封裝

    excel 下載方法封裝

    1.首先需要拿到后端返回的URL下載地址 ?2.寫(xiě)個(gè)下載方法 //? 如果不要求加文字名稱,可以用 window.open(url)

    2024年02月12日
    瀏覽(19)
  • 2023新版網(wǎng)盤(pán)云存儲(chǔ)系統(tǒng)網(wǎng)站PHP源碼 支持轉(zhuǎn)存+限速 可穩(wěn)定運(yùn)營(yíng)級(jí)

    2023新版網(wǎng)盤(pán)云存儲(chǔ)系統(tǒng)網(wǎng)站PHP源碼 支持轉(zhuǎn)存+限速 可穩(wěn)定運(yùn)營(yíng)級(jí)

    新運(yùn)營(yíng)級(jí)限速網(wǎng)盤(pán)系統(tǒng)網(wǎng)站源碼是一款非常實(shí)用的系統(tǒng),可以幫助您打造一個(gè)安全可靠的網(wǎng)盤(pán)分享平臺(tái)。該系統(tǒng)支持用戶使用微信掃碼登錄,上傳文件分享鏈接可自定義,文件可一鍵保存到我的網(wǎng)盤(pán)。此外,該系統(tǒng)還支持微信和支付寶官方接口,易支付接口不強(qiáng)制且可自定義

    2024年02月11日
    瀏覽(22)
  • BT下載磁力下載工具,這幾款,不限速

    BT下載磁力下載工具,這幾款,不限速

    想看個(gè)電影,迅雷限速,經(jīng)常還因?yàn)槟承┰蛳虏涣?,下載電影,BT下載工具總少不了,今天給大家推薦這幾款BT下載磁力鏈接下載工具。不限速下載,超爽! 一、Motrix Motrix是一款全能的下載工具,支持下載 HTTP、FTP、BT、磁力鏈、百度網(wǎng)盤(pán)等資源。Motrix使用aria2作為內(nèi)核,下

    2024年02月13日
    瀏覽(28)
  • PHP大文件切片下載代碼

    header(\\\"Content-Type: application/fORCe-download\\\"); 表示強(qiáng)制下載,服務(wù)端將一個(gè)完整的文件或者包一并輸出瀏覽器,然后瀏覽器觸發(fā)下載(用戶看到的下載);缺點(diǎn)是文件或者包有多大腳本就占用多大內(nèi)存; header(\\\"Content-type: application/octet-stream\\\"); 表示未知的應(yīng)用程序文件,也是會(huì)觸發(fā)瀏

    2024年02月16日
    瀏覽(20)
  • kali php無(wú)法執(zhí)行,直接下載或顯示php文件內(nèi)容

    kali php無(wú)法執(zhí)行,直接下載或顯示php文件內(nèi)容

    問(wèn)題描述: 開(kāi)啟apache或nginx,訪問(wèn)php文件要么直接顯示php文件內(nèi)容,要么直接下載,這都是php文件無(wú)法解析的問(wèn)題,需要nginx+php-fpm解決 1、安裝NGINX 查看是否安裝,如下圖則已安裝 #apt-cache policy nginx 未安裝則執(zhí)行安裝nginx #apt-get install nginx 補(bǔ)充說(shuō)明 Nginx 網(wǎng)站目錄是 /var/www/h

    2024年02月03日
    瀏覽(28)
  • PCB封裝下載網(wǎng)站推薦及其詳細(xì)使用方法

    本文匯總了當(dāng)下比較流行的幾個(gè)原理圖符號(hào),PCB封裝與對(duì)應(yīng)的3D模型下載網(wǎng)站,網(wǎng)站均支持多種流行的EDA軟件,如AD, Cadence, PADS等。 因?yàn)槲沂褂玫氖荂adence,版本是16.6和17.4,對(duì)應(yīng)的原理圖工具是Orcad,PCB工具是Allegro,所以在使用網(wǎng)站時(shí)均以Cadence為示例。 當(dāng)下最流行的三個(gè)PC

    2024年02月05日
    瀏覽(23)
  • 如何在PHP中包含一個(gè)文件?

    在 PHP 中,你可以使用 include 、 require 、 include_once 或 require_once 來(lái)包含外部文件。這些語(yǔ)句允許你在當(dāng)前腳本中引入其他文件的內(nèi)容,以便重用代碼、模塊化項(xiàng)目等。 include 語(yǔ)句: include 語(yǔ)句用于包含文件,如果包含文件出錯(cuò),腳本會(huì)繼續(xù)執(zhí)行。 示例: include \\\'filename.php\\\'; r

    2024年02月04日
    瀏覽(21)
  • minio下載文件速度很慢的原因分析與說(shuō)明

    minio下載文件速度很慢的原因分析與說(shuō)明

    最近在做一個(gè)項(xiàng)目,需要用到minio來(lái)搭建文件系統(tǒng),先簡(jiǎn)單說(shuō)一下我在項(xiàng)目中設(shè)置的上傳文件流程: 前端將分塊文件逐一傳給后端,后端再存儲(chǔ)到 linux服務(wù)器的minio 當(dāng)中。 所有分塊文件存儲(chǔ)完畢,后端從 minio 下載所有的分塊文件到本地磁盤(pán)中。 后端進(jìn)行合并文件處理,將合

    2024年02月06日
    瀏覽(29)
  • .net core使用Html模板轉(zhuǎn)PDF文件并下載的業(yè)務(wù)類封裝

    前言:我這里文件下載的模板選型優(yōu)先考慮html模板,上手容易,前后端通用,有了模板后就需要有轉(zhuǎn)換了,html轉(zhuǎn)PDF采用第三方包:DinkToPdf(1.0.8),下面是代碼核心類: ? 重點(diǎn):html轉(zhuǎn)PDF的三方包有很多,我目前采用的是支持跨平臺(tái)(windows和linux)的包源:DinkToPdf,這里提一嘴

    2024年02月09日
    瀏覽(33)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包