ホームページ > バックエンド開発 > PHPチュートリアル > phpファイルのダウンロード

phpファイルのダウンロード

WBOY
リリース: 2016-06-23 13:30:25
オリジナル
887 人が閲覧しました

Webページを通じて様々なファイルをダウンロードすることがよくありますが、どうすればよいでしょうか?この記事では、http 関連のコンテンツと組み合わせて、PHP の観点からファイルのダウンロードについて説明します。

一般的に、ファイルはハイパーリンクを通じて直接ダウンロードできます。

<a href='要下载的文件'>点击下载</a>
ログイン後にコピー

この方法では、.exe、.rar などの多くの形式のファイルに対応できますが、画像形式、html、txt などのファイルの場合は、リンクをクリックしてもブラウザ上に直接表示されるだけになります。 。では、この状況にどう対処すればよいのでしょうか?このとき、phpが表示される必要があります。

私の限られた PHP プログラミング経験の中で、私は 2 つの形式の PHP ダウンロード ファイルに遭遇しました。全体として、ファイルのダウンロードは、応答ヘッダーを設定することによって実現されます。原理的には本質的な違いはありません。

最初のもの:

$file_name='文件名'; header ( 'Content-Disposition: attachment; filename=' . basename ( $file_name )); header ( 'Content-Length: '.filesize ( $file_name )); readfile ( $file_name );
ログイン後にコピー

$filename には、ダウンロードしたファイルの名前が設定されます。 readfile() を通じてファイルを読み取り、出力バッファに書き込みます。

2番目:

$file_name='要下载的文件名';$fp=fopen($file_name,"r+");$file_size=filesize($file_name);//header("Content-type: application/octet-stream"); //返回的文件类型//header("Accept-Ranges: bytes");//按照字节格式返回header("Accept-Length: ".$file_size);header("Content-Disposition: attachment; filename=".$file_name);$buffer=1024;while(!feof($fp)){    $file_data=fread($fp,$buffer);    echo $file_data;}fclose($fp);
ログイン後にコピー

この方法では、ファイルをダウンロードするプロセスをより詳しく説明します。

  1. ファイルを開いてメモリに書き込みます。
  2. ファイルサイズを計算する
  3. ヘッダー情報を設定する
  4. データをキャッシュに出力する
  5. ファイルを閉じる

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