ホームページ >バックエンド開発 >PHPチュートリアル >PHP はファイルを強制的にダウンロードします (ファイルや画像がブラウザで直接開かれないようにします)

PHP はファイルを強制的にダウンロードします (ファイルや画像がブラウザで直接開かれないようにします)

WBOY
WBOYオリジナル
2016-07-25 09:00:511437ブラウズ
  1. /**
  2. * FLEA_Helper_SendFile クラスは、ファイルをブラウザに送信するために使用されます
  3. *
  4. * FLEA_Helper_SendFile を使用すると、アプリケーションはブラウザからアクセスできない
  5. * 場所に重要なファイルを保存できます。ファイルの内容はプログラムを通じてブラウザに送信されます。
  6. * @site http://bbs.it-home.org
  7. */
  8. class FLEA_Helper_SendFile
  9. {
  10. /**
  11. * ファイルの内容をブラウザに送信します
  12. *
  13. * @param string $serverPath サーバー上のファイルのパス (絶対パスまたは相対パス)
  14. * @param string $filename ブラウザに送信されるファイル名 (使用しないでください)可能であれば中国語)
  15. * @param string $mimeType はファイルの種類を示します
  16. */
  17. function sendFile($serverPath, $filename, $mimeType = 'application/octet- stream')
  18. {
  19. header("Content-Type: {$mimeType}");
  20. $filename = '"' . htmlspecialchars($filename) . '"';
  21. $filesize = filesize($serverPath);
  22. $ charset = FLEA::getAppInf('responseCharset');//utf-8 などの実際のファイル エンコーディング タイプに従って、gbk
  23. header("Content-Disposition:attachment; filename={$filename}; charset={$ charset}" );
  24. header('Pragma: キャッシュ');
  25. header('キャッシュ制御: public、must-revalidate、max-age=0');
  26. header("Content-Length: {$filesize}" );
  27. readfile($serverPath);
  28. 終了;
  29. }
  30. }
コードをコピー


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。