ホームページ  >  記事  >  バックエンド開発  >  PHPでtxtファイルをダウンロードする方法

PHPでtxtファイルをダウンロードする方法

藏色散人
藏色散人オリジナル
2021-09-21 09:29:555041ブラウズ

php で txt ダウンロード ファイルを実装するメソッド: 1. PHP サンプル ファイルを作成します; 2. "function downloadtxt($file = "") {...}" コードを追加します; 3. "downloadtxt(" を渡します) classmsg");" を使用してファイルをダウンロードするだけです。

PHPでtxtファイルをダウンロードする方法

この記事の動作環境: Windows 7 システム、PHP バージョン 7.1、Dell G3 コンピューター。

#php で txt ファイルのダウンロードを実装する方法

PHP は txt ファイルの生成とダウンロードを実装します

##1。 txt の生成 この関数は、複数のデータを出力するために使用されます。各フィールドはスペースで区切られ、次のデータは直接改行で囲まれます。


public function dlfileftxt($data = array(),$filename = "unknown") {
	header("Content-type:application/octet-stream");
	header("Accept-Ranges:bytes"); 
	header("Content-Disposition:attachment;filename=$filename.txt"); 
	header("Expires:0"); 
	header("Cache-Control:must-revalidate,post-check=0,pre-check=0 "); 
	header("Pragma:public");
	if (!empty($data)){
		foreach($data as $key=>$val){
			foreach ($val as $ck => $cv) {
				$data[$key][$ck]=iconv("UTF-8", "GB2312", $cv);				
			}
			$data[$key]=implode(" ", $data[$key]);				
		}
		echo implode("\n",$data);
	}
	exit();
}
dlfileftxt(array(1=>array("student"=>"小红","class"=>"一班"),2=>array("student"=>"老黄","class"=>"二班")),"班级信息");

txtFile name: クラス情報

txt content:

Xiaohong Class 1
Laohuang Class 2
コード分析:
"Content-type:application/octet-stream"
//バイナリのみが可能送信可能であり、送信できるバイナリは 1 つだけです。ファイルを送信する場合、送信できるファイルは 1 つだけです。また、バックグラウンド受信パラメータは 1 つだけ、ストリーム (またはバイト配列) のみにすることができます。
" Accept-Ranges: bytes"
//サーバーがサポートしているかどうかを示します。範囲リクエストとセグメント化されたリクエストのタイプを指定します。
"Content-Disposition:attachment;filename=$filename.txt"
//もちろんfilename パラメータにはパス情報を含めることができますが、User-Agnet はこの情報を無視し、パス情報の最後の部分のみがファイル名として使用されます。応答タイプが application/octet-stream の場合にこのヘッダー情報を使用すると、内容を直接表示するのではなく、「ファイルのダウンロード」ダイアログ ボックスをポップアップ表示して、次のステップを実行することを意味します。 「開く」または「保存」
(注: ブラウザによっては中国語の文字列を認識できないため、文字化けして表示される場合があります。文字列の文字エンコードを強制的に UTF-8 にする必要があります)

1.txt ダウンロード

一部のブラウザは txt ファイルを解釈できるため、ブラウザを使用してサーバー上の特定の txt にアクセスすると、ファイルをダウンロードするのではなく、新しいウィンドウが開き、txt の内容を読み取ります


function downloadtxt($file = "") {
	if(!$file) 
		return false;
	$filename = '/path/'.$file.'.txt'; //文件路径
	header("Content-Type: application/force-download");
	header("Content-Disposition: attachment; filename=".basename($filename));
	readfile($filename);
}
downloadtxt("classmsg");

コード分析:

"Content-Type: application/force-download"

//ファイルの内容を強制的にダウンロードします
readfile()
//この関数はファイルを読み取り、ファイルに書き込みますコンテンツを標準出力デバイスに出力します。戻り値は、読み取られたファイル サイズです。


推奨学習: 「

PHP ビデオ チュートリアル

以上がPHPでtxtファイルをダウンロードする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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