PHP實(shí)現(xiàn)文件下載【實(shí)例分享】
更新時間:2017年04月28日 14:59:20 作者:下頁、再停留
本篇文章主要介紹了PHP實(shí)現(xiàn)文件下載的示例代碼。具有很好的參考價值。下面跟著小編一起來看下吧
話不多說,請看代碼:
<?php /** * *參數(shù)說明: * * $file_name 文件名(中英文) * $_SERVER['DOCUMENT_ROOT'] 獲取apache所在路徑 * */ function download($file_name){ //對中文文件名進(jìn)行轉(zhuǎn)碼 $file_name=iconv("UTF-8","GB2312",$file_name); //文件絕對路徑: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; //為了下載安全,做一個文件字節(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ù)會送給瀏覽器 } fclose($fp); } //調(diào)用 download("qq.txt"); //只需填寫文件名即可 ?>
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
您可能感興趣的文章:
相關(guān)文章
php給一組指定關(guān)鍵詞添加span標(biāo)簽的方法
這篇文章主要介紹了php給一組指定關(guān)鍵詞添加span標(biāo)簽的方法,涉及php正則替換的技巧,非常具有實(shí)用價值,需要的朋友可以參考下2015-03-03基于php實(shí)現(xiàn)的驗(yàn)證碼小程序
本文主要介紹了基于php實(shí)現(xiàn)的驗(yàn)證碼小程序的具體實(shí)現(xiàn)方法,并做了詳細(xì)注釋,有利于理解與學(xué)習(xí),需要的朋友一起來看下吧2016-12-12php實(shí)現(xiàn)的中秋博餅游戲之繪制骰子圖案功能示例
這篇文章主要介紹了php實(shí)現(xiàn)的中秋博餅游戲之繪制骰子圖案功能,涉及php圖形繪制中位置、顏色、形狀等相關(guān)屬性設(shè)置操作技巧,需要的朋友可以參考下2017-11-11PHP簡潔函數(shù)(PHP簡單明了函數(shù)語法)
筆者由于碰到用戶多次修改頁面,所以在麻煩的情況下,改用php完成技術(shù)開發(fā),這篇文章主要記錄PHP簡潔函數(shù),講述PHP簡單明了函數(shù)語法,適合人群為對開源社區(qū)感興趣,對php感興趣,有一點(diǎn)時間了解下php,希望對讀者帶來快樂2012-06-06PHP從零開始打造自己的MVC框架之類的自動加載實(shí)現(xiàn)方法詳解
這篇文章主要介紹了PHP從零開始打造自己的MVC框架之類的自動加載實(shí)現(xiàn)方法,結(jié)合具體實(shí)例形式詳細(xì)分析了MVC框架類的自動加載原理、定義、實(shí)現(xiàn)方法及相關(guān)操作技巧,需要的朋友可以參考下2019-06-06PHP學(xué)習(xí)筆記 (1) 環(huán)境配置與代碼調(diào)試
學(xué)習(xí)php第一步就是需要配置php運(yùn)行環(huán)境,這個是基礎(chǔ),需要的朋友可以參考下。2011-06-06