php文件开放下载安全,php实现文件安全下载
你一定会笑我"下载文件"如此简单都值得说?当然并不是想象那么简单。例如你希望客户要填完一份表格,才能下载某一文件,你第一个想法一定是用 "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实现文件安全下载相关推荐
- aaynctask控制多个下载进度_AsyncTask用法解析-下载文件动态更新进度条
1. 泛型 AysncTask Params:启动任务时传入的参数,通过调用asyncTask.execute(param)方法传入. Progress:后台任务执行的进度,若不用显示进度条,则不需要 ...
- python urlretrieve登录下载_使用python urlretrieve下载文件
urlretrieve()方法直接将远程数据下载到本地.urlretrieve()是python urllib下的一个函数,python3已经将urlretrieve()移到urllib.reques ...
- [转]文件传输协议(FTP)操作(上传,下载,新建,删除,FTP间传送文件等)实现汇总1
转自:http://blog.csdn.net/soarheaven/archive/2008/12/08/3474152.aspx 最近项目需要对FTP服务器进行操作,现把实现总结如下: 打算分2篇 ...
- Asp.net生成Excel文件并下载(解决使用迅雷下载页面而不是文件的问题)
这里采用的是在服务端先生成Excel文件,然后利用文件地址下载的方法. 先试用Response.WriteFile的方法: FileInfo fi = new FileInfo(excelFile); ...
- Linux命令scp用于远程文件的拷贝(上传和下载)
3_Linux命令scp用于远程文件的拷贝(上传和下载) 文章目录 1.SCP简介 2.SCP使用 2.1.命令格式: 2.2.命令功能: 2.3.命令参数: 3.使用实例: 如何将本地文件通过终端上 ...
- nginx 读取文件_Nginx的提升php上传下载
Nginx广泛应用在各个服务器上,之前一篇笔记里面写了如何用php下载文件,里面写了两种方法来下载文件 nginx配置直接try_files下载文件 php读取文件之后再输出 对于第二种方法,php- ...
- python通过下载链接下载_Python根据URL地址下载文件——wget
爬虫过程中经常会需要下载一些资源,通常我们会使用request进行下载,方法大致如下 import requests # 请求链接,有防爬的要加headers,代理ip地址 img = request ...
- java http 下载文件_JAVA通过HttpURLConnection 上传和下载文件的方法
本文介绍了JAVA通过HttpURLConnection 上传和下载文件的方法,分享给大家,具体如下: HttpURLConnection文件上传 HttpURLConnection采用模拟浏览器上传 ...
- java 上传文件及预览_SpringBoot上传下载文件及在线预览
SpringBoot上传下载文件及在线预览 今天大概就说说如何使用SpringBoot进行上传和下载以及在线预览文件 本篇主要介绍上传下载的功能,对于界面就简单一点,大致如下: 一.老规矩还是先看看小 ...
最新文章
- 网站的线下活动如何组织
- epson机器人编程 范例_2019年机器人盘点(IREX篇)
- iphone同步助手_iPhone怎么批量删除联系人?
- 3A游戏的必备工艺! 天美是如何将动作捕捉运用到游戏中的?
- 码农和程序员的几个重要区别!
- 玩转Nacos参数配置!多图勿点
- 区块链应用 | 区块链的火爆会一直持续吗?
- 基于低代码平台实现物流行业的知识文档管理系统
- 基于Labview带通滤波器设计实例演示
- cad插入块_CAD图块全攻略第三期——高级技巧动态块,快来提升逼格!
- 4.1%的利率,100万贷款,30年还款,我们每月能少还多少房贷呢
- 【论文笔记_目标检测_2022】Cross Domain Object Detection by Target-Perceived Dual Branch Distillation
- [Mark]The problems solutions of vmware vsphere
- CentOS 开机启动详解
- c语言小写A对应数字,C语言ascII与数字转化的问题,值得新手看看
- 用ps做个一寸的照片
- 课堂实验一 SQL基础练习
- ubuntu16.04 opencv3.3 python2.7 caffe GPU环境搭建
- Java笔记——Java多线程~
- React基础学习(一)
热门文章
- 微信公众号接口权限表汇总
- KeyMob移动广告聚合平台:类似于房地产中介
- 系列文章--oracle简单入门教程
- PermSize 设置过小对性能的影响(OutOfMemoryError:PermGen spac)
- httpd启动报错:httpd: apr_sockaddr_info_get() failed for jsp...
- fedora18装一些软件及配置
- JDK_Tomcat_MyEclipse配置
- MySQL 系统架构 说明
- 交换机与路由器在网路中所扮演的角色—Vecloud微云
- IP地址、子网掩码、网关的概念—Vecloud微云