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和MySql来与ODBC数据连接
Oct 09 PHP
PHP简单系统查询模块代码打包下载
Jun 07 PHP
坏狼的PHP学习教程之第2天
Jun 15 PHP
探讨php中防止SQL注入最好的方法是什么
Jun 10 PHP
Linux编译升级php的详细方法
Nov 04 PHP
php实现邮件发送并带有附件
Jan 24 PHP
php计算几分钟前、几小时前、几天前的几个函数、类分享
Apr 09 PHP
VPS中使用LNMP安装WordPress教程
Dec 28 PHP
php分割合并两个字符串的函数实例
Jun 19 PHP
thinkPHP5.0框架整体架构总览【应用,模块,MVC,驱动,行为,命名空间等】
Mar 25 PHP
实例分析10个PHP常见安全问题
Jul 09 PHP
PHP实现单例模式建立数据库连接的方法分析
Feb 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
header跳转和include包含问题详解
2012/09/08 PHP
PHP实现数字补零功能的2个函数介绍
2014/05/12 PHP
PHP7如何开启Opcode打造强悍性能详解
2018/05/11 PHP
php微信扫码支付 php公众号支付
2019/03/24 PHP
JQuery 常用方法基础教程
2009/02/06 Javascript
JavaScript 一行代码,轻松搞定浮动快捷留言-V2升级版
2010/04/02 Javascript
JavaScript实现统计文本框Textarea字数增强用户体验
2012/12/21 Javascript
Jquery通过Ajax方式来提交Form表单的具体实现
2013/11/07 Javascript
初识Javascript小结
2015/07/16 Javascript
Bootstrap面板使用方法
2017/01/16 Javascript
JavaScript判断浏览器及其版本信息
2017/01/20 Javascript
微信小程序 功能函数小结(手机号验证*、密码验证*、获取验证码*)
2017/12/08 Javascript
Node解决简单重复问题系列之Excel内容的获取
2018/01/02 Javascript
前端js中的事件循环eventloop机制详解
2019/05/15 Javascript
jQuery实现的点击显示隐藏下拉菜单功能完整示例
2019/05/17 jQuery
jquery 键盘事件 keypress() keydown() keyup()用法总结
2019/10/23 jQuery
js实现课堂随机点名系统
2019/11/21 Javascript
[47:38]Optic vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Python生成随机MAC地址
2015/03/10 Python
处理Python中的URLError异常的方法
2015/04/30 Python
解决Python plt.savefig 保存图片时一片空白的问题
2019/01/10 Python
pandas进行时间数据的转换和计算时间差并提取年月日
2019/07/06 Python
Python中zip()函数的简单用法举例
2019/09/02 Python
Python操作多维数组输出和矩阵运算示例
2019/11/28 Python
Python os模块常用方法和属性总结
2020/02/20 Python
python Timer 类使用介绍
2020/12/28 Python
HTML5中canvas中的beginPath()和closePath()的重要性
2018/08/24 HTML / CSS
浅谈利用缓存来优化HTML5 Canvas程序的性能
2015/05/12 HTML / CSS
HTML5 常见面试题之PC端和移动端区别介绍
2018/01/22 HTML / CSS
国际性能运动服装品牌:Dare 2b
2018/07/27 全球购物
捷克移动配件网上商店:ProMobily.cz
2019/03/15 全球购物
优秀员工自荐信范文
2013/10/05 职场文书
大学自主招生自荐信
2013/12/16 职场文书
《夸父追日》教学反思
2014/02/26 职场文书
趣味运动会简讯
2015/07/20 职场文书
普希金诗歌赏析(6首)
2019/08/22 职场文书