你一定会笑我"下载文件"如此简单都值得说?当然并不是想象那么简单。例如你希望客户要填完一份表格,才能下载某一文件,你第一个想法一定是用 "Redirect"的方法,先检查表格是否已填写完毕和完整,然后就将网址指到该文件,这样客户才能下载,但如果你想做一个关于"网上购物"的电子商务网站,考虑安全问题,你不想用户直接复制网址下载该文件,笔者建议你使用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 = "http://www.easycn.net/";

$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直接输出文件了。

php文件开放下载安全,php实现文件安全下载相关推荐

  1. aaynctask控制多个下载进度_AsyncTask用法解析-下载文件动态更新进度条

    1. 泛型 AysncTask Params:启动任务时传入的参数,通过调用asyncTask.execute(param)方法传入. Progress:后台任务执行的进度,若不用显示进度条,则不需要 ...

  2. python urlretrieve登录下载_使用python urlretrieve下载文件

    urlretrieve()方法直接将远程数据下载到本地.urlretrieve()是python urllib下的一个函数,python3已经将urlretrieve()移到urllib.reques ...

  3. [转]文件传输协议(FTP)操作(上传,下载,新建,删除,FTP间传送文件等)实现汇总1

    转自:http://blog.csdn.net/soarheaven/archive/2008/12/08/3474152.aspx 最近项目需要对FTP服务器进行操作,现把实现总结如下: 打算分2篇 ...

  4. Asp.net生成Excel文件并下载(解决使用迅雷下载页面而不是文件的问题)

    这里采用的是在服务端先生成Excel文件,然后利用文件地址下载的方法. 先试用Response.WriteFile的方法: FileInfo fi = new FileInfo(excelFile); ...

  5. Linux命令scp用于远程文件的拷贝(上传和下载)

    3_Linux命令scp用于远程文件的拷贝(上传和下载) 文章目录 1.SCP简介 2.SCP使用 2.1.命令格式: 2.2.命令功能: 2.3.命令参数: 3.使用实例: 如何将本地文件通过终端上 ...

  6. nginx 读取文件_Nginx的提升php上传下载

    Nginx广泛应用在各个服务器上,之前一篇笔记里面写了如何用php下载文件,里面写了两种方法来下载文件 nginx配置直接try_files下载文件 php读取文件之后再输出 对于第二种方法,php- ...

  7. python通过下载链接下载_Python根据URL地址下载文件——wget

    爬虫过程中经常会需要下载一些资源,通常我们会使用request进行下载,方法大致如下 import requests # 请求链接,有防爬的要加headers,代理ip地址 img = request ...

  8. java http 下载文件_JAVA通过HttpURLConnection 上传和下载文件的方法

    本文介绍了JAVA通过HttpURLConnection 上传和下载文件的方法,分享给大家,具体如下: HttpURLConnection文件上传 HttpURLConnection采用模拟浏览器上传 ...

  9. java 上传文件及预览_SpringBoot上传下载文件及在线预览

    SpringBoot上传下载文件及在线预览 今天大概就说说如何使用SpringBoot进行上传和下载以及在线预览文件 本篇主要介绍上传下载的功能,对于界面就简单一点,大致如下: 一.老规矩还是先看看小 ...

最新文章

  1. 网站的线下活动如何组织
  2. epson机器人编程 范例_2019年机器人盘点(IREX篇)
  3. iphone同步助手_iPhone怎么批量删除联系人?
  4. 3A游戏的必备工艺! 天美是如何将动作捕捉运用到游戏中的?
  5. 码农和程序员的几个重要区别!
  6. 玩转Nacos参数配置!多图勿点
  7. 区块链应用 | 区块链的火爆会一直持续吗?
  8. 基于低代码平台实现物流行业的知识文档管理系统
  9. 基于Labview带通滤波器设计实例演示
  10. cad插入块_CAD图块全攻略第三期——高级技巧动态块,快来提升逼格!
  11. 4.1%的利率,100万贷款,30年还款,我们每月能少还多少房贷呢
  12. 【论文笔记_目标检测_2022】Cross Domain Object Detection by Target-Perceived Dual Branch Distillation
  13. [Mark]The problems solutions of vmware vsphere
  14. CentOS 开机启动详解
  15. c语言小写A对应数字,C语言ascII与数字转化的问题,值得新手看看
  16. 用ps做个一寸的照片
  17. 课堂实验一 SQL基础练习
  18. ubuntu16.04 opencv3.3 python2.7 caffe GPU环境搭建
  19. Java笔记——Java多线程~
  20. React基础学习(一)

热门文章

  1. 微信公众号接口权限表汇总
  2. KeyMob移动广告聚合平台:类似于房地产中介
  3. 系列文章--oracle简单入门教程
  4. PermSize 设置过小对性能的影响(OutOfMemoryError:PermGen spac)
  5. httpd启动报错:httpd: apr_sockaddr_info_get() failed for jsp...
  6. fedora18装一些软件及配置
  7. JDK_Tomcat_MyEclipse配置
  8. MySQL 系统架构 说明
  9. 交换机与路由器在网路中所扮演的角色—Vecloud微云
  10. IP地址、子网掩码、网关的概念—Vecloud微云