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 相关文章推荐
打造计数器DIY三步曲(下)
Oct 09 PHP
不用数据库的多用户文件自由上传投票系统(1)
Oct 09 PHP
php更改目录及子目录下所有的文件后缀的代码
Sep 24 PHP
php数组操作之键名比较与差集、交集赋值的方法
Nov 10 PHP
php实现的SESSION类
Dec 02 PHP
PHP中4种常用的抓取网络数据方法
Jun 04 PHP
举例详解PHP脚本的测试方法
Aug 05 PHP
PHP内核探索之变量
Dec 22 PHP
PHP将MySQL的查询结果转换为数组并用where拼接的示例
May 13 PHP
Yii2简单实现多语言配置的方法
Jul 23 PHP
PHP定义字符串的四种方式详解
Feb 06 PHP
Laravel框架Eloquent ORM删除数据操作示例
Dec 03 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程序员工具
2008/05/26 PHP
深入理解PHP中的Session和Cookie
2013/06/21 PHP
PHP实现163邮箱自动发送邮件
2016/03/29 PHP
PHP中addslashes与mysql_escape_string的区别分析
2016/04/25 PHP
PHP编写daemon process 实例详解
2016/11/13 PHP
php中序列化与反序列化详解
2017/02/13 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
2018/05/23 PHP
javascript一个无懈可击的实例化XMLHttpRequest的方法
2010/10/13 Javascript
JSP跨iframe如何传递参数实现代码
2013/09/21 Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
2014/01/07 Javascript
jquery选择器排除某个DOM元素的方法(实例演示)
2014/04/25 Javascript
jquery实现模拟百分比进度条渐变效果代码
2015/10/29 Javascript
详解javascript的变量与标识符
2016/01/04 Javascript
jQuery获取同级元素的简单代码
2016/07/09 Javascript
jstree的简单实例
2016/12/01 Javascript
详解JavaScript按概率随机生成事件
2017/08/02 Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
2017/11/22 Javascript
jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法
2018/03/28 jQuery
vue.js中npm安装教程图解
2018/04/10 Javascript
使用Vue实现移动端左滑删除效果附源码
2019/05/16 Javascript
通过vue手动封装on、emit、off的代码详解
2019/05/29 Javascript
在mpvue框架中使用Vant WeappUI组件库的注意事项【推进】
2019/06/09 Javascript
javascript使用substring实现的展开与收缩文字功能示例
2019/06/17 Javascript
Vue ElementUI实现:限制输入框只能输入正整数的问题
2020/07/31 Javascript
JS实现点击掉落特效
2021/01/29 Javascript
[08:54]《一刀刀一天》之DOTA全时刻18:十九支奔赴西雅图队伍全部出炉
2014/06/04 DOTA
Scrapy-redis爬虫分布式爬取的分析和实现
2017/02/07 Python
Python实现多线程抓取网页功能实例详解
2017/06/08 Python
Python引用传值概念与用法实例小结
2017/10/07 Python
Python根据指定日期计算后n天,前n天是哪一天的方法
2018/05/29 Python
浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器
2019/03/11 Python
PyCharm 光标变成黑块的解决方式
2021/02/06 Python
重新定义牛仔布,100美元以下:Warp + Weft
2018/07/25 全球购物
教师校本培训方案
2014/02/26 职场文书
干部作风建设年活动剖析材料
2014/10/23 职场文书
九年级历史教学反思
2016/02/19 职场文书