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

yipeiwu_com6年前PHP代码库

本文实例讲述了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中FTP相关函数小结

本文实例讲述了PHP中FTP相关函数。分享给大家供大家参考,具体如下: <?php set_time_limit(0); //转存本地地址 define( 'STO...

php可生成缩略图的文件上传类实例

本文实例讲述了php可生成缩略图的文件上传类及其用法。分享给大家供大家参考。具体实现方法如下: 类文件调用方法如下: 复制代码 代码如下:<?php if ($_GET[...

php中操作memcached缓存进行增删改查数据的实现代码

核心代码: <?php //创建一个memcache对象实例 $memcache = new Memcache; if(!$memcache->conn...

php miniBB中文乱码问题解决方法

有时候一分钱难死英雄汉, 这话不假, 在技术上也是一样,如系统调试了半天, PHP就是不认mysql, 到头来只是忘了安装php5-mysql, miniBB因为简约而美丽,但国内使用人...

完美解决:Apache启动问题—(OS 10022)提供了一个无效的参数

今天启动apache2始终无法启动,本以为又是端口问题,可后来查看并未有端口占用问题,于是查看错误日志如下:[Sat Jun 20 03:12:52 2009] [notice] Apa...