この記事では、主に PHP ファイルのダウンロードのサンプル コードを詳しく紹介します。興味のある方は参考にしてください。
ファイルのダウンロード機能は基本的に Web サイトに必要です。今日は、PHP がファイルのダウンロードを実装する方法を見てみましょう。 。
非制御型
ここで説明する非制御型は、PHP コード制御リソースを追加せずに直接ダウンロードできる型を指します。一般的に、圧縮ファイル .rar、オーディオおよびビデオ ファイル: ..avi などを直接ダウンロードすることもできます。ただし、オーディオと mp4 はブラウザによって直接解析され、再生されます。
以下に示すように:
.avi ファイル
.rar ファイル
.mp4、MP3、写真など。直接分析になります
コアコード
php コードを使用してファイルのダウンロードを制御するのは非常に簡単です。このような複雑な作業を、非常に少ないコードで実行できます。
type
// 使用basename函数可以获得文件的名称而不是路径信息,保护了服务器的目录安全性 header("content-disposition:attachment;filename=".basename($filename));
length
header("content-length:".filesize($filename));
実装関数
<?php $filename = $_GET['filename']; // 使用basename函数可以获得文件的名称而不是路径信息,保护了服务器的目录安全性 header("content-disposition:attachment;filename="$filename); header("content-length:".filesize($filename)); readfile($filename); ?>
最適化
指定されたファイル上記では、名前を指定するときにbasenameという関数を使用しませんでした。そのため、ファイルをダウンロードするときに、サーバー上のファイルのフルパスが付加されます。
注: ダウンロードされたファイルの名前には、サーバー上のフルパス名が含まれていてはなりません。そうしないと、一部のリソースが漏洩する可能性があります。リソースへのアクセスを制御する方法がある場合でも、basename 関数を使用することをお勧めします。
元のダウンロードファイルの名前
最適化されたファイルのダウンロード名
概要
PHPファイルのダウンロードは、Java実装と比較して非常に便利です。ダウンロードされたファイル内には、このカプセル化された情報を通じて提供される多くの情報が含まれており、より洗練されたファイル ダウンロード システムを実装できます。
要約: 上記がこの記事の全内容です。皆様の学習に役立つことを願っています。
関連する推奨事項:
php+js で Baidu マップ上のマルチポイント アノテーションを実現
以上がPHPファイルダウンロードサンプルコードの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。