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


Posted in PHP onApril 18, 2015

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

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

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

实现方法二:

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

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
php上的memcache和memcached两个pecl库
Mar 29 PHP
解决phpmyadmin中缺少mysqli扩展问题的方法
May 06 PHP
php 检查电子邮件函数(自写)
Jan 16 PHP
php判断数组元素中是否存在某个字符串的方法
Jun 14 PHP
我整理的PHP 7.0主要新特性
Jan 07 PHP
PHP 输出缓冲控制(Output Control)详解
Aug 25 PHP
php 中奖概率算法实现代码
Jan 25 PHP
PHP levenshtein()函数用法讲解
Mar 08 PHP
Laravel关系模型指定条件查询方法
Oct 10 PHP
Laravel 之url参数,获取路由参数的例子
Oct 21 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 22 PHP
PHP SESSION跨页面传递失败解决方案
Dec 11 PHP
php实现用于计算执行时间的类实例
Apr 18 #PHP
php递归遍历多维数组的方法
Apr 18 #PHP
php实现二进制和文本相互转换的方法
Apr 18 #PHP
php使用指定字符列表生成随机字符串的方法
Apr 18 #PHP
php准确计算复活节日期的方法
Apr 18 #PHP
PHP使用Face++接口开发微信公众平台人脸识别系统的方法
Apr 17 #PHP
PHP学习笔记(三):数据类型转换与常量介绍
Apr 17 #PHP
You might like
php 从数据库提取二进制图片的处理代码
2009/09/09 PHP
symfony表单与页面实现技巧
2015/01/26 PHP
php使用正则表达式进行字符串搜索的方法
2015/03/23 PHP
php有效防止同一用户多次登录
2015/11/19 PHP
javascript 清空form表单中某种元素的值
2009/12/26 Javascript
Javascript图像处理—亮度对比度应用案例
2013/01/03 Javascript
Jquery创建一个层当鼠标移动到层上面不消失效果
2013/12/12 Javascript
js函数在frame中的相互调用详解
2014/03/03 Javascript
jQuery使用andSelf()来包含之前的选择集
2014/05/19 Javascript
jQuery菜单插件superfish使用指南
2015/04/21 Javascript
深入理解angularjs过滤器
2016/05/25 Javascript
Node.js实现兼容IE789的文件上传进度条
2016/09/02 Javascript
js实现固定宽高滑动轮播图效果
2017/01/13 Javascript
利用Node.js批量抓取高清妹子图片实例教程
2018/08/02 Javascript
jquery实现下载图片功能
2019/07/18 jQuery
微信小程序清空输入框信息与实现屏幕往上滚动的示例代码
2020/06/23 Javascript
[48:21]林俊杰圣堂刺客超神杀戮秀
2014/10/29 DOTA
[04:05]TI9战队采访 - Natus Vincere
2019/08/22 DOTA
利用一个简单的例子窥探CPython内核的运行机制
2015/03/30 Python
Python简单删除列表中相同元素的方法示例
2017/06/12 Python
Tornado高并发处理方法实例代码
2018/01/15 Python
python正则中最短匹配实现代码
2018/01/16 Python
python读取各种文件数据方法解析
2018/12/29 Python
Python3之手动创建迭代器的实例代码
2019/05/22 Python
python安装本地whl的实例步骤
2019/10/12 Python
Python3的unicode编码转换成中文的问题及解决方案
2019/12/10 Python
Python爬虫库BeautifulSoup的介绍与简单使用实例
2020/01/25 Python
Python-opencv实现红绿两色识别操作
2020/06/04 Python
python与pycharm有何区别
2020/07/01 Python
阿里巴巴的Oracle DBA笔试题答案-SQL tuning类
2016/04/03 面试题
医学专业大学生求职的自我评价
2013/11/27 职场文书
运动会解说词50字
2014/01/18 职场文书
高二地理教学反思
2014/01/24 职场文书
银行贷款承诺书
2014/03/29 职场文书
教职工代表大会主持词
2014/04/01 职场文书
白血病捐款倡议书
2014/05/14 职场文书