日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

基于php下载文件的详解

發布時間:2023/11/27 生活经验 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于php下载文件的详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
基于php下載文件的詳解 本篇文章是對php下載文件進行了詳細的分析介紹,需要的朋友參考下php下載文件,比如txt文件。出現的效果就是,彈出瀏覽器自帶的下載框,出現另存為操作。有時候會出現內存溢出和超時的現象。超時的話,設置set_time_limit(0);出現內存溢出的話,有可能是因為從數據庫中取出的數據量太大導致的。如果是從文件中讀取的話,出現內存溢出的話,就是代碼讀取方式不正確,調用files或者file_get_contens才會如果是fopen的話,就給一個緩沖區,固定大小,讀入然后寫入,不會出現內存溢出的情況。代碼:<?phpif?(file_exists($file_path))?{?//如果文件存在
$handle?=?fopen($file_path,?"r");
while?(!feof($handle))?{
$content?=?fgets($handle,?4096);?//讀取一行
echo?$content;?//輸出到緩沖區,即php://stdout。達到緩沖區設置值后由tcp傳給瀏覽器進行輸出??一般到512字節就會通過網絡輸出給瀏覽器
}?//by?www.jbxue.com
fclose($handle);
}
?>但是在輸出之前,要調用一次,@ob_end_flush();不能循環調用,只調用一次就好。@ob_end_flush();//沖刷出(送出)輸出緩沖區內容并關閉緩沖文件下載:content-type://下載的格式,瀏覽器不能解析的格式就會彈出下載框<?php
header("Content-Type:?application/force-download");
header("Content-Type:?application/download");
header("Content-Transfer-Encoding:?binary");
header("Cache-Control:?must-revalidate,?post-check=0,?pre-check=0");
header("Pragma:?no-cache");
Header("Content-type:?application/octet-stream");  //響應內容類型  
Header("Accept-Ranges:?bytes");
Header("Accept-Length:?".filesize($filename).?'?bytes');
Header('Content-Disposition:?attachment;?filename='.$filename);  //HTTP響應頭
?> posted on 2013-08-01 05:24 snowfly123 閱讀(...) 評論(...) 編輯 收藏

轉載于:https://www.cnblogs.com/linuxnotes/p/3229181.html

總結

以上是生活随笔為你收集整理的基于php下载文件的详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。