最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP實(shí)現(xiàn)文件下載【實(shí)例分享】

 更新時(shí)間:2017年04月28日 14:59:20   作者:下頁、再停留  
本篇文章主要介紹了PHP實(shí)現(xiàn)文件下載的示例代碼。具有很好的參考價(jià)值。下面跟著小編一起來看下吧

話不多說,請(qǐng)看代碼:

<?php

/**
*
*參數(shù)說明:
*
*  $file_name  文件名(中英文)
*  $_SERVER['DOCUMENT_ROOT']  獲取apache所在路徑
*
*/

function download($file_name){
   //對(duì)中文文件名進(jìn)行轉(zhuǎn)碼
    $file_name=iconv("UTF-8","GB2312",$file_name);  
     //文件絕對(duì)路徑:E:/wamp/www."/Demo/Object/DownfileSource/".qq.txt
    $filepath = $_SERVER['DOCUMENT_ROOT']."/Demo/Object/DownfileSource/".$file_name;  

     if(!file_exists($filepath)){ //檢查文件是否存在
      echo "該文件不存在!";
     return;
     }

     $fp = fopen($filepath, 'r');  //打開文件
      $file_size = filesize($filepath);  //計(jì)算文件大小
      if ($file_size>1) {
       echo "<script>window.alert('文件過大,您沒權(quán)限下載')</script>";
       return;
      }

     //HTTP頭部信息
      header("Content-type: application/octet-stream");
      header("Accept-Ranges: bytes");
    header("Accept-Length: ".$file_size);
      header("Content-Disposition: attachment; filename=".$file_name);

      //輸出文件內(nèi)容 echo fread($fp, $file_size);

    $buffer = 1024;
    //為了下載安全,做一個(gè)文件字節(jié)讀取計(jì)數(shù)器
    $file_count = 0;
    //判斷文件是否結(jié)束 feof
    while (!feof($fp) && ($file_size-$file_count > 0)) {

      $file_data = fread($fp, $buffer); //統(tǒng)計(jì)讀了多少字節(jié)
      $file_count+=$buffer;

      echo "$file_data"; //把數(shù)據(jù)會(huì)送給瀏覽器
    }
     fclose($fp);
}
//調(diào)用
 download("qq.txt"); //只需填寫文件名即可
?>

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

  • PHP 應(yīng)用容器化以及部署方法

    PHP 應(yīng)用容器化以及部署方法

    本文給大家分享的是如何把PHP應(yīng)用容器化,以及使用docker在服務(wù)器上部署PHP應(yīng)用,非常的簡單實(shí)用,有需要的小伙伴可以參考下
    2018-02-02
  • 淺談apache和nginx的rewrite的區(qū)別

    淺談apache和nginx的rewrite的區(qū)別

    淺談apache和nginx的rewrite的區(qū)別,需要的朋友可以參考一下
    2013-02-02
  • php版阿里云OSS圖片上傳類詳解

    php版阿里云OSS圖片上傳類詳解

    這篇文章主要介紹了php版阿里云OSS圖片上傳類,結(jié)合具體實(shí)例形式分析了php版阿里云OSS圖片上傳類的功能、定義、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-12-12
  • CI框架(ajax分頁,全選,反選,不選,批量刪除)完整代碼詳解

    CI框架(ajax分頁,全選,反選,不選,批量刪除)完整代碼詳解

    CodeIgniter 是一個(gè)小巧但功能強(qiáng)大的 PHP 框架。這篇文章主要介紹了CI框架(ajax分頁,全選,反選,不選,批量刪除)完整代碼,需要的朋友可以參考下
    2016-11-11
  • php實(shí)現(xiàn)redis數(shù)據(jù)庫指定庫號(hào)遷移的方法

    php實(shí)現(xiàn)redis數(shù)據(jù)庫指定庫號(hào)遷移的方法

    這篇文章主要介紹了php實(shí)現(xiàn)redis數(shù)據(jù)庫指定庫號(hào)遷移的方法,涉及對(duì)于redis數(shù)據(jù)庫的操作技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-01-01
  • PHP跳出for循環(huán)中的break和continue

    PHP跳出for循環(huán)中的break和continue

    在PHP中,可以使用break關(guān)鍵字來跳出循環(huán),,PHP中還可以使用continue關(guān)鍵字跳過本次循環(huán)并繼續(xù)執(zhí)行下一次循環(huán),當(dāng)循環(huán)執(zhí)行到continue語句時(shí),本次循環(huán)中continue之后的代碼將不再執(zhí)行,直接進(jìn)入下一次循環(huán)
    2023-09-09
  • php實(shí)現(xiàn)的二叉樹遍歷算法示例

    php實(shí)現(xiàn)的二叉樹遍歷算法示例

    這篇文章主要介紹了php實(shí)現(xiàn)的二叉樹遍歷算法,結(jié)合具體實(shí)例形式分析了php針對(duì)二叉樹的常用前序、中序及后序遍歷算法實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-06-06
  • PHP使用CURL模擬登錄的方法

    PHP使用CURL模擬登錄的方法

    本文給大家介紹的是PHP使用CURL模擬登錄的方法,思路和其他模擬登陸的程序不同,有需要的小伙伴可以詳細(xì)看下。
    2015-07-07
  • php函數(shù)間的參數(shù)傳遞(值傳遞/引用傳遞)

    php函數(shù)間的參數(shù)傳遞(值傳遞/引用傳遞)

    函數(shù)間的參數(shù)傳遞包括值傳遞和引用傳遞,詳細(xì)示例接下來為大家詳細(xì)介紹下,感興趣的朋友不要錯(cuò)過
    2013-09-09
  • 淺談thinkphp的實(shí)例化模型

    淺談thinkphp的實(shí)例化模型

    這篇文章主要簡單介紹了thinkphp的實(shí)例化模型的幾種方法,以及他們之間的使用要點(diǎn),非常不錯(cuò),推薦給大家。
    2015-01-01

最新評(píng)論

七台河市| 墨脱县| 麻栗坡县| 滦南县| 顺义区| 汤阴县| 上蔡县| 平陆县| 宁化县| 昌图县| 太原市| 井研县| 蓬溪县| 景宁| 荥经县| 刚察县| 新乡县| 洞口县| 进贤县| 温州市| 岐山县| 广南县| 新郑市| 金堂县| 新密市| 高平市| 阳原县| 太保市| 元江| 赤水市| 沈丘县| 晋中市| 肇庆市| 平原县| 太白县| 张家港市| 闸北区| 宝清县| 广南县| 琼中| 泌阳县|