Heim >Backend-Entwicklung >PHP-Tutorial >php强制文件下载(避免文件或图片直接在浏览器中打开)

php强制文件下载(避免文件或图片直接在浏览器中打开)

WBOY
WBOYOriginal
2016-07-25 09:00:511436Durchsuche
  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: cache');
  25. header('Cache-Control: public, must-revalidate, max-age=0');
  26. header("Content-Length: {$filesize}");
  27. readfile($serverPath);
  28. exit;
  29. }
  30. }
复制代码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn