ホームページ  >  記事  >  バックエンド開発  >  header_PHP チュートリアルによるテキスト ファイルのダウンロードを実装する PHP コード

header_PHP チュートリアルによるテキスト ファイルのダウンロードを実装する PHP コード

WBOY
WBOYオリジナル
2016-07-21 15:34:48653ブラウズ

これが今日議論される主な問題です。ヘッダーを介して PHP がダウンロードをトリガーすることに関する PHP ヘルプ ドキュメントの指示は比較的単純ですが、インターネット上にはこの点に関する記事がほとんどなく、多くの記事では期待した効果が得られません。今日もこのテーマについてお話しますが、インターネット上のいくつかの記事と比較して改善されていると感じていただければ、私は非常に満足しています。

PDF を例として挙げると、PHP ドキュメントは、テキスト ファイルのダウンロードをトリガーするために必要な 3 つのステートメントを簡潔にリストしているため、最も正確です。

コードをコピーします。
// PDF を出力します
header('Content-type: application/pdf');
// これは、downloaded.pdf という名前になります
header('Content-Disposition:attachment ; filename="downloaded .pdf"');
// PDF ソースはoriginal.pdf にあります
readfile('original.pdf');


これら 3 つの文は正しいですが、実際に使用すると非常に混乱します。予期せぬ問題が発生する可能性があります。しかし、非常に用心深い人であれば、これらの問題は簡単に回避できます。しかし、私はそうではないので、そのような問題に遭遇しました。ここで私の問題について簡単に話します。

最初の文については何も言う必要はありません。必要なのは、ドキュメントのタイプを変更することだけです。たとえば、txt ファイルをダウンロードする場合は、header('Content-type: application/) に変更します。 txt');、いいえ。2 番目の文には特に言うことはありません。ダウンロードしたドキュメントに名前を付けるだけです。それが txt ファイルの場合は、header('Content-Disposition:attachment; filename=) に変更できます。 download.txt"');、3番目の文 さらに問題があります。readfile関数はファイルを読み取って出力することを意味します。ここでのファイルのパスは実際のファイルパスである必要があります。original.txtの場合ダウンロードフォルダーの下にファイルがある場合は、 readfile(' downloads/original.txt'); と書くことができ、送信されたページがテキストやその他の文字を出力する場合、ダウンロードされるファイルは、元のファイルであるoriginal.txtとオリジナルファイルが混合されたファイルになります。送信されたページによって出力されるテキスト。ここで私は注意深い観察を欠いており、何かが間違っていることに気づいてすぐにコードをチェックしましたが、内容のこの部分を発見した後、すぐに解決方法を思いつくかもしれません。この問題は、送信されたページのテキストコンテンツの出力をオフにすることです。

この時点で問題は解決され、テキスト ファイルのリンクをクリックしたときにダウンロード ダイアログ ボックスがトリガーされるという効果が得られます。

http://www.bkjia.com/PHPjc/322333.html

tru​​ehttp://www.bkjia.com/PHPjc/322333.html技術記事これが今日議論される主な問題です。 PHP のヘルプドキュメントにある、PHP によるヘッダーによるダウンロードのトリガーに関する手順は比較的簡単ですが、これに関する記事はインターネット上にほとんどありません...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。