当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP实现文件安全下载的程序

PHP
PHP自动更新新闻DIY
模拟OICQ的实现思路和核心程序(三)
如何对PHP程序中的常见漏洞进行攻击(下)
通过ODBC连接的SQL SERVER实例
使用sockets:从新闻组中获取文章(二)
PHP+MYSQL的文章管理系统(二)
使用sockets:从新闻组中获取文章(三)
使用sockets:从新闻组中获取文章(一)
用cookies来跟踪识别用户
PHP实现分页的一个示例
PHP+MYSQL的文章管理系统(一)
消息持续发送的完整例子
如何利用php+mysql保存和输出文件
操作Oracle的php类
计数器详细设计
一个程序下载的管理程序(三)
一个程序下载的管理程序(一)
在php中取得image按钮传递的name值
一个程序下载的管理程序(二)
一个程序下载的管理程序(四)

PHP实现文件安全下载的程序


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 220 ::
收藏到网摘: n/a

PHP实现文件安全下载

程序如下:

以下为引用的内容:

  $file_name = "info_check.exe";

  $file_dir = "/public/www/download/";

  if (!file_exists($file_dir . $file_name)) { //检查文件是否存在

  echo "文件找不到";

  exit;

  } else {

  $file = fopen($file_dir . $file_name,"r"); //打开文件

  //输入文件标签

  Header("Content-type: application/octet-stream");

  Header("Accept-Ranges: bytes");

  Header("Accept-Length: ".filesize($file_dir . $file_name));

  Header("Content-Disposition: attachment; filename=" . $file_name);

  //输出文件内容

  echo fread($file,filesize($file_dir . $file_name));

  fclose($file);

  exit;}

  而如果文件路径是"http"或者"ftp"网址的话,则源代码会有少许改变,程序如下:

  $file_name = "info_check.exe";

  $file_dir = "www.www.ruanchen.com/";

  $file = @ fopen($file_dir . $file_name,"r");

  if (!$file) {

  echo "文件找不到";

  } else {

  Header("Content-type: application/octet-stream");

  Header("Content-Disposition: attachment; filename=" . $file_name);

  while (!feof ($file)) {

  echo fread($file,50000);

  }

  fclose ($file);

  }

这样就可以用PHP直接输出文件了