ホームページ php教程 php手册 基于php下载文件的详解

基于php下载文件的详解

Jun 13, 2016 am 11:52 AM
php txt ダウンロード 現れる に基づく ポップアップ 効果 書類 ブラウザ 自分のものを持参してください 詳しい説明

php下载文件,比如txt文件。
出现的效果就是,弹出浏览器自带的下载框,出现另存为操作。有时候会出现内存溢出和超时的现象。
超时的话,设置set_time_limit(0);
出现内存溢出的话,有可能是因为从数据库中取出的数据量太大导致的。
如果是从文件中读取的话,出现内存溢出的话,就是代码读取方式不正确,调用files或者filegetcontens才会
如果是fopen的话,就给一个缓冲区,固定大小,读入然后写入,不会出现内存溢出的情况。
如代码:

复制代码 代码如下:


if (file_exists($file_path)) { //如果文件存在
$handle = fopen($file_path, "r");
while (!feof($handle)) {
$content = fgets($handle, 4096); //读取一行
echo $content; //输出到缓冲区,即php://stdout。达到缓冲区设置值后由tcp传给浏览器进行输出  一般到512字节就会通过网络输出给浏览器
}
fclose($handle);
}


但是在输出之前,要调用一次,@ob_end_flush();不能循环调用,只调用一次就好。
@ob_end_flush();//冲刷出(送出)输出缓冲区内容并关闭缓冲

文件下载:
content-type://下载的格式,浏览器不能解析的格式就会弹出下载框

复制代码 代码如下:


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响应头


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

IISとPHPの互換性:ディープダイビング IISとPHPの互換性:ディープダイビング Apr 22, 2025 am 12:01 AM

IISとPHPは互換性があり、FastCGIを通じて実装されています。 1..phpファイル要求を構成ファイルを介してFastCGIモジュールに転送します。 2. FASTCGIモジュールは、PHPプロセスを開始して、パフォーマンスと安定性を改善するための要求を処理します。 3。実際のアプリケーションでは、構成の詳細、エラーデバッグ、パフォーマンスの最適化に注意する必要があります。

OUYI Exchange OUYI Exchange登録チュートリアルでアカウントを登録する方法 OUYI Exchange OUYI Exchange登録チュートリアルでアカウントを登録する方法 Apr 24, 2025 pm 02:06 PM

OUYIアカウントを登録する手順は次のとおりです。1。有効な電子メールまたは携帯電話番号を準備し、ネットワークを安定させます。 2。OUYIの公式ウェブサイトにアクセスしてください。 3.登録ページを入力します。 4.電子メールまたは携帯電話番号を選択して、情報を登録して入力します。 5。検証コードを取得して入力します。 6。ユーザー契約に同意します。 7.登録を完了してログインし、KYCを実行してセキュリティ対策を設定します。

バイナンスダウンロードリンクバイナンスダウンロードパス バイナンスダウンロードリンクバイナンスダウンロードパス Apr 24, 2025 pm 02:12 PM

Binanceアプリを安全にダウンロードするには、公式チャネルを通過する必要があります。1。Binance公式Webサイトにアクセスして、アプリをダウンロードするポータルを見つけてクリックします。3。

Apple携帯電話用のOUYI Exchangeアプリの公式Webサイトをダウンロードする Apple携帯電話用のOUYI Exchangeアプリの公式Webサイトをダウンロードする Apr 28, 2025 pm 06:57 PM

OUYI Exchangeアプリは、Apple携帯電話のダウンロードをサポートし、公式Webサイトにアクセスし、「Apple Mobile」オプションをクリックして、App Storeに入手してインストールし、登録またはログインして暗号通貨取引を実施します。

USDT転送アドレスが正しくない場合はどうすればよいですか?初心者向けガイド USDT転送アドレスが正しくない場合はどうすればよいですか?初心者向けガイド Apr 21, 2025 pm 12:12 PM

USDT転送アドレスが正しくない後、最初に転送が発生したことを確認し、次にエラータイプに応じて測定を行います。 1.転送の確認:トランザクション履歴を表示し、ブロックチェーンブラウザーでトランザクションハッシュ値を取得してクエリします。 2。対策を講じる:住所が存在しない場合は、資金が返還されるのを待つか、カスタマーサービスに連絡してください。無効なアドレスの場合は、顧客サービスに連絡し、専門家の助けを求めてください。それが他の誰かに転送された場合は、受取人に連絡するか、法的支援を求めてください。

セサミオープンエクスチェンジにアカウントを登録する方法は?セサミオープンエクスチェンジの登録に関するチュートリアル セサミオープンエクスチェンジにアカウントを登録する方法は?セサミオープンエクスチェンジの登録に関するチュートリアル Apr 24, 2025 pm 02:00 PM

セサミドアオープンアカウントを登録するには、7つの手順が必要です。1。有効な電子メールまたは携帯電話番号と安定したネットワークを準備します。 2。公式ウェブサイトにアクセスしてください。 3.登録ページを入力します。 4.登録方法を選択して入力します。 5。検証コードを取得して入力します。 6。ユーザー契約に同意します。 7.登録を完了してログインすると、KYCを実行してセキュリティ対策を設定することをお勧めします。

2つの交換はコインを互いに変換できますか? 2つの交換はコインを互いに変換できますか? 2つの交換はコインを互いに変換できますか? 2つの交換はコインを互いに変換できますか? Apr 22, 2025 am 08:57 AM

できる。 2つの交換は、同じ通貨とネットワークをサポートする限り、コインを互いに転送できます。手順には次のものが含まれます。1。コレクションアドレスを取得し、2。引き出しリクエストを開始します。3。確認を待ちます。注:1。正しい転送ネットワークを選択します。2。住所を注意深く確認します。3。手数料を理解します。4。アカウント時間に注意してください。5。交換がこの通貨をサポートしていることを確認します。

オンチェーントランザクションとは何ですか?グローバルトランザクションは何ですか? オンチェーントランザクションとは何ですか?グローバルトランザクションは何ですか? Apr 22, 2025 am 10:06 AM

EU MICAコンプライアンス認定、50のFIAT通貨チャネル、コールドストレージ比95%、およびセキュリティインシデントレコードがゼロをカバーしています。米国SECライセンスプラットフォームには、98%のコールドストレージ、機関レベルの流動性、大規模なOTCとカスタムオーダー、およびマルチレベルのクリアリング保護をサポートするFIAT通貨の便利な直接購入があります。

See all articles