php隐藏实际地址的文件下载方法

这篇文章主要介绍了php隐藏实际地址的文件下载方法,涉及php中header与file_get_contents方法的相关使用技巧,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了php隐藏实际地址的文件下载方法,分享给大家供大家参考,具体如下:

下面这段php代码可不透露实际的文件下载地址。

  1. function download_document($filename,$path="",$mimetype="application/octet-stream")
  2. {
  3. header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  4. header("Content-Disposition: attachment; filename = $filename");
  5. header("Content-Length: " . filesize($pathto . $filename));
  6. header("Content-Type: $mimetype");
  7. echo file_get_contents($pathto . $filename);
  8. }

实现方法二:

  1. <?php
  2. $file = "1.txt";// 文件的真实地址(支持url,不过不建议用url)
  3. if (file_exists($file)) {
  4. header('Content-Description: File Transfer');
  5. header('Content-Type: application/octet-stream');
  6. header('Content-Disposition: attachment; filename='.basename($file));
  7. header('Content-Transfer-Encoding: binary');
  8. header('Expires: 0');
  9. header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
  10. header('Pragma: public');
  11. header('Content-Length: ' . filesize($file));
  12. ob_clean();
  13. flush();
  14. readfile($file);
  15. exit;
  16. }
  17. ?>