ホームページ > バックエンド開発 > PHPチュートリアル > PHP強制ダウンロード型実装コード_PHPチュートリアル

PHP強制ダウンロード型実装コード_PHPチュートリアル

WBOY
リリース: 2016-07-21 15:30:15
オリジナル
1175 人が閲覧しました

コピーコードは次のとおりです: 0'); // キャッシュなし

header('Cache-Control: must-revalidate, post-check=0, pre-check=0') ; header('Cache-Control: private',false); header('Content-Type: '.$mime); header('Content-Disposition:attachment; filename="'.basename($file_name). '"'); header('Content-Transfer-Encoding: binary '); header('Connection: close'); readfile($file_name); //
exit();


php は、ホットリンクを減らすことができます!ファイルをブラウザに渡し、ブラウザにダウンロードさせます

txtタイプを例に挙げます

現在のブラウザはすでにtxtドキュメント形式を認識できるため、txtドキュメントへのテキストリンクを作成するだけの場合は、クリックした後、新しいウィンドウを開いてテキストを表示するだけです。ファイルの内容は、クリックしてダウンロードするという目的を達成できません。もちろん、この問題を解決するには、txt ファイルの名前をブラウザが認識しないファイル (rar など) に変更することもできます。この場合、ブラウザは rar タイプのファイルを認識できないため、ユーザーはダウンロードすることしかできません。それ。もう 1 つの方法は、コードを使用してヘッダーを通じてドキュメントの形式を設定し、クリック ダウンロードの目的を達成することです。
PHP コードは次のとおりです:



コードをコピーします

コードは次のとおりです:


$filename = '/path/'.$_GET['file'].'.txt';
header("Content-Type: application/force-download");
header("Content-Disposition:attachment; filename=".basename($filename));


簡単な説明:
最初のヘッダー関数は、Content-Type の値を application/force-download に設定します。
2 番目のヘッダー関数は、ダウンロードされるファイルを設定します。ここでの filename はパスを含まないファイル名であることに注意してください。 filename の値は、ダウンロードをクリックした後に表示されるダイアログ ボックス内のファイル名になります。パスがある場合は、表示されるダイアログ ボックス内のファイル名になります。アップは不明です。
最後に、readfile 関数を通じて、ファイル ストリームがブラウザに出力され、txt ファイルのダウンロードが実現されます。
http://www.bkjia.com/PHPjc/323300.html
www.bkjia.com

tru​​e

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

技術記事

次のようにコードをコピーします。 function downloadFile($file){ /*Alessio Delmonti によるコード*/ $file_name = $file; $mime = 'application/force-download' ('Pragma: public'); ..


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート