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 相关文章推荐
解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法
Mar 29 PHP
PHP安全配置详细说明
Sep 26 PHP
浅谈php中mysql与mysqli的区别分析
Jun 10 PHP
解析phpstorm + xdebug 远程断点调试
Jun 20 PHP
使用PHP导出Redis数据到另一个Redis中的代码
Mar 12 PHP
四个常见html网页乱码问题及解决办法
Sep 08 PHP
简单PHP会话(session)说明介绍
Aug 21 PHP
PHP面向对象程序设计之类与反射API详解
Dec 02 PHP
PHP bin2hex()函数基础实例讲解
Feb 11 PHP
CentOS7编译安装php7.1的教程详解
Apr 18 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
Mar 30 PHP
PHP变量的作用范围实例讲解
Dec 22 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
一个捕获函数输出的函数
2007/02/14 PHP
CodeIgniter视图使用注意事项
2016/01/20 PHP
Zend Framework教程之Zend_Controller_Plugin插件用法详解
2016/03/07 PHP
PHP中的Iterator迭代对象属性详解
2019/04/12 PHP
PHP实现与java 通信的插件使用教程
2019/08/11 PHP
jQuery1.6 使用方法一
2011/11/23 Javascript
基于JQuery模仿苹果桌面的Dock效果(初级版)
2012/10/15 Javascript
javascript 获取图片尺寸及放大图片
2013/09/04 Javascript
javascript:void(0)的作用示例介绍
2013/10/28 Javascript
JQuery实现table行折叠效果以JSON做数据源
2014/05/26 Javascript
JS+CSS实现Li列表隔行换色效果的方法
2015/02/16 Javascript
AngularJS基础学习笔记之简单介绍
2015/05/10 Javascript
JavaScript添加随滚动条滚动窗体的方法
2016/02/23 Javascript
解析JavaScript实现DDoS攻击原理与保护措施
2016/12/26 Javascript
jquery点赞功能实现代码 点个赞吧!
2020/05/29 jQuery
详解从买域名到使用pm2部署node.js项目全过程
2018/03/07 Javascript
详解基于Wepy开发小程序插件(推荐)
2019/08/01 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
2020/08/13 Javascript
[49:35]2018DOTA2亚洲邀请赛3月30日 小组赛A组 KG VS TNC
2018/03/31 DOTA
[53:52]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python的Django框架中settings文件的部署建议
2015/05/30 Python
基于python的字节编译详解
2017/09/20 Python
使用pandas批量处理矢量化字符串的实例讲解
2018/07/10 Python
在python中实现强制关闭线程的示例
2019/01/22 Python
python 读取更新中的log 或其它文本方式
2019/12/24 Python
tensorflow estimator 使用hook实现finetune方式
2020/01/21 Python
python爬虫使用requests发送post请求示例详解
2020/08/05 Python
MADE法国:提供原创设计师家具
2018/09/18 全球购物
巴西香水和化妆品购物网站:The Beauty Box
2019/09/03 全球购物
华美博弈C/VC工程师笔试试题
2012/07/16 面试题
介绍一下Java的事务处理
2012/12/07 面试题
家长评语大全
2014/01/22 职场文书
招商专员岗位职责
2014/02/08 职场文书
思想政治表现评语
2015/01/04 职场文书
求职自我推荐信
2015/03/24 职场文书
Python实现列表拼接和去重的三种方式
2021/07/02 Python