phpの3つのファイルダウンロードの実装

1、ファイルを追加するに直接リンク
<ボタン>
<aのHREF = "http://localhost/down.zip">
ダウンロードファイル
</ボタン>は

ダウンロードボタンをクリックします。


2、検索およびダウンロードリンクにジャンプするためのパラメータを渡す
引数の:

<ボタン>
<aのHREF = "http://localhost?f='down'">
ダウンロードファイル
</ button>の

ダウンロードリンクにファイルと課題を見つけます。

<?phpの

$ダウン= $ _GET [ 'F ']; //はファイル・パラメータの取得
$ファイル名= $ダウン'をジップ。 。'; //は、 ファイル名の取得
$ dirを= "ダウン/を"; // Webのルートディレクトリにダウンロードディレクトリの相対パス
$ down_host = $ _SERVER [ 'HTTP_HOST '] '/' ;. // 現在のドメイン名


ファイルは、ダウンロードパスにジャンプ存在する場合//が決定
IF {(file_exists(DIR __ __ '/' $ $ DIRをファイル名)...)
ヘッダー(「LOCATION:HTTP://'.$down_host.$dir.$filename );
}そうでなければ{
ヘッダ( 'HTTP / 1.1 404が見つかりません');
}

結果:

ファイルが存在しています


ファイルが存在しません。

直接ファイルブラウザに出力する3、頭()とのfread()関数
<?PHP
$ FILE_NAME = "ダウン";
$ FILE_NAME = "down.zip"; //ダウンロードファイル名
$ FILE_DIR = "./down/" ; //ダウンロードファイル格納ディレクトリ
//ファイルが存在するかどうかを確認し
た場合(file_exists($ FILE_NAME FILE_DIRの$)]){
ヘッダ(「HTTP / 1.1 404が見つかりません」);
}他{
読み取り専用モードで開いてバイナリ//ファイル
$ファイル=ののfopen($ FILE_DIR $ file_nameに、 "RB"。);

//ファイルストリーム形式のファイルであり、ブラウザ伝える
ヘッダ(「コンテンツタイプ:アプリケーション /オクテットストリームを」);
メジャー//要求範囲の単位
ヘッダ(「-範囲を受け入れ:バイト」);
//たContent長さは、リクエストに含まれるかに応じて、データの長さをバイト単位で指定された
ヘッダ(「同意長を:.」ファイルサイズ($ FILE_DIR $ file_nameに)。);
//ブラウザを伝えるために使用され、ファイルが付属品としてダウンロードすることができ、ダウンロードファイル名の後に変数の$ file_nameの値です。
ヘッダー( "コンテンツディスポジション:添付ファイル ;ファイル名=" $ FILE_NAME。);

//直接ブラウザにファイルおよび出力の内容を読み取る
(。$ファイル、ファイルサイズ($ FILE_DIR $ file_nameに));エコーのfread
fcloseを($ファイル);
出口();
}

結果:第二と同じ

おすすめ

転載: www.cnblogs.com/chenduzizhong/p/10986132.html