ホームページ > バックエンド開発 > PHPチュートリアル > PHP は http 応答ヘッダーを追加することでユーザーにダウンロードを強制します

PHP は http 応答ヘッダーを追加することでユーザーにダウンロードを強制します

WBOY
リリース: 2016-07-25 08:46:11
オリジナル
1653 人が閲覧しました

PHP では、ヘッダーの content-type を設定して、ブラウザで直接コンテンツを開くのではなく、ユーザーにコンテンツをダウンロードさせることができます。これは、次のコードによって実現されます。

DownloadFile.php

    $filename = $_GET['file']; // URL からファイル ID を取得します
  1. // ファイル ID をクエリします
  2. $query = sprintf("SELECT * FROM tableName WHERE id = '%s'",mysql_real_escape_string($filename));
  3. $sql = mysql_query($query);
  4. if(mysql_num_rows($sql) > 0){
  5. $row = mysql_fetch_array($sql);
  6. //いくつかのヘッダーを設定します
  7. header("Pragma: public");
  8. header("Expires: 0");
  9. header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  10. header("Content-Type: application/force-download");
  11. header("Content-Type: application/octet-stream");
  12. header("Content-Type: application/download");
  13. header("Content -性質: 添付ファイル名 = ".basename($row['ファイル名']).";");
  14. header("Content-Transfer-Encoding: バイナリ");
  15. header("Content-Length: ".filesize ($row['FileName']));
  16. @readfile($row['FileName']);
  17. exit(0);
  18. }else{
  19. header("Location: /");
  20. exit;
  21. }
  22. ?>
コードをコピー

files.php

コードをコピー

php、http

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