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.MVC的模板标签系统(三)
Sep 05 PHP
VFP与其他应用程序的集成
Oct 09 PHP
社区(php&amp;&amp;mysql)六
Oct 09 PHP
用php来检测proxy
Oct 09 PHP
php中取得文件的后缀名?
Feb 20 PHP
PHP中header和session_start前不能有输出原因分析
Jan 11 PHP
教你如何用php实现LOL数据远程获取
Jun 10 PHP
跟我学Laravel之路由
Oct 15 PHP
Laravel中扩展Memcached缓存驱动实现使用阿里云OCS缓存
Feb 10 PHP
php微信公众号开发(3)php实现简单微信文本通讯
Dec 15 PHP
PHP实现链式操作的三种方法详解
Nov 16 PHP
浅谈Laravel中使用Slack进行异常通知
May 29 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 事件机制(2)
2011/03/23 PHP
php计算几分钟前、几小时前、几天前的几个函数、类分享
2014/04/09 PHP
PHP过滤黑名单关键字的方法
2014/12/01 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
php实现在线考试系统【附源码】
2018/09/18 PHP
laravel 使用auth编写登录的方法
2019/09/30 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
Thinkphp 框架扩展之行为扩展原理与实现方法分析
2020/04/23 PHP
网上抓的一个特效
2007/05/11 Javascript
AngularJS基础 ng-srcset 指令简单示例
2016/08/03 Javascript
bootstrap中日历范围选择插件daterangepicker的使用详解
2018/04/17 Javascript
JS实现自定义弹窗功能
2018/08/08 Javascript
使用jquery DataTable和ajax向页面显示数据列表的方法
2018/08/09 jQuery
详解vue2.0模拟后台json数据
2019/05/16 Javascript
深入了解JavaScript 私有化
2019/05/30 Javascript
layui table单元格事件修改值的方法
2019/09/24 Javascript
微信小程序实现点击图片放大预览
2019/10/21 Javascript
[01:09:16]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第一场 1月25日
2021/03/11 DOTA
简单介绍Python中的struct模块
2015/04/28 Python
Python常见格式化字符串方法小结【百分号与format方法】
2016/09/18 Python
python 实现A*算法的示例代码
2018/08/13 Python
Python 中的参数传递、返回值、浅拷贝、深拷贝
2019/06/25 Python
Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】
2019/10/12 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
2019/11/07 Python
Python+OpenCV+图片旋转并用原底色填充新四角的例子
2019/12/12 Python
python实现简单学生信息管理系统
2020/04/09 Python
租租车:国际租车、美国租车、欧洲租车、特价预订国外租车(中文服务)
2018/03/28 全球购物
资产评估专业大学生求职信
2013/09/29 职场文书
品管员岗位职责
2013/11/10 职场文书
加多宝凉茶广告词
2014/03/18 职场文书
对外汉语专业大学生职业生涯规划范文
2014/09/13 职场文书
征用土地赔偿协议书
2014/09/26 职场文书
酒店优秀员工推荐信
2015/03/24 职场文书
小学毕业教师寄语
2019/06/21 职场文书
SQLServer2019 数据库的基本使用之图形化界面操作的实现
2021/04/08 SQL Server
Python多线程 Queue 模块常见用法
2021/07/04 Python