php实现文件的下载

<?php
$file_name="test.mp4";//需要下载的文件
$fp=fopen($file_name,"r+");//下载文件必须先要将文件打开,写入内存
if(!file_exists($file_name)){//判断文件是否存在
    echo "文件不存在";
    exit();
}
$file_size=filesize($file_name);//判断文件大小
//返回的文件
Header("Content-type: application/octet-stream");
//按照字节格式返回
Header("Accept-Ranges: bytes");
//返回文件大小
Header("Accept-Length: ".$file_size);
//弹出客户端对话框,对应的文件名
Header("Content-Disposition: attachment; filename=".$file_name);
//防止服务器瞬时压力增大,分段读取
$buffer=1024;
while(!feof($fp)){
    $file_data=fread($fp,$buffer);
    echo $file_data;
}
//关闭文件
fclose($fp);
?>

时间: 2024-10-18 15:32:01

php实现文件的下载的相关文章

腾讯对象存储服务COS加密签名上传文件与下载文件的剖析,福利提供给所有使用Android的小伙伴们!

在做一些用户需求的时候,公司往往需要工程师采集到更多有用的关于用户的个人信息,然后对用户群进行分析,今天我不是来分析这些的,今天我主要是说 腾讯推出的款云产品,那就是对象存储服务COS,这个产品面向所有开发者,新用户都有免费享有10G的使用权,10G可能对于做方案的工程师来说可能是微不 足道的,比如后视镜和车载方案,会常常需要用到视频的存储与云分享,当然这里不是只本地存储哦,我指的是用户在使用方案商的方案的时候,比如他开车 的时候录了一段视频需要分享到某个域,共享给大家看,比如微信,这时候他肯定

iOS开发之网络编程--使用NSURLConnection实现大文件断点续传下载+使用输出流代替文件句柄

前言:本篇讲解,在前篇iOS开发之网络编程--使用NSURLConnection实现大文件断点续传下载的基础上,使用输出流代替文件句柄实现大文件断点续传.    在实际开发中,输入输出流用的比较少,但是用起来也是很方便的.iOS开发用到的输入输出流和在Java中的输入输出流是几乎一样的,本质也是一个意思:将网络返回的数据当做流来处理.    输入输出的理解:输入到哪里?输出到哪里?这个问题不难理解,输入输出是要站着服务器角度来思考的,下面用图来解释:    代码关键词: 1.在接收到响应头的代理

IIS 设置文件可下载

IIS遇到了文件不能下载的问题.为了让IIS能下载扩展名是INI的文件,我们需要如此操作:(括号内的是英文版本的名字) 打开"IIS管理器(InternetInformationServices(IIS)Manager)" 选择到你的站点.单击右键.选择"属性(Properties)" 单击"HTTP头(HTTPHeaders)"选项卡 单击"MIME类型(MIMETypes)" 单击"新建(NEW)" 在

大文件断点下载

(1)实现思路 在下载文件的时候不再是整块的从头开始下载,而是看当前文件已经下载到哪个地方,然后从该地方接着往后面下载.可以通过在请求对象中设置请求头实现. (2)解决方案(设置请求头) //2.创建请求对象 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; //2.1 设置下载文件的某一部分 // 只要设置HTTP请求头的Range属性, 就可以实现从指定位置开始下载 /* 表示头500个字节:Ra

大文件的下载

(1)实现思路 边接收数据边写文件以解决内存越来越大的问题 (2)核心代码 //当接收到服务器响应的时候调用,该方法只会调用一次 -(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { //0.获得当前要下载文件的总大小(通过响应头得到) NSHTTPURLResponse *res = (NSHTTPURLResponse *)response; self.to

简单的上传文件和下载文件

简单的上传文件和下载文件: request.setCharacterEncoding("utf-8"); / *设置编码格式 */ response.setContentType("application/msword");  /*使浏览器能区分数据的种类,这里是word文件类型*/ Part part = request.getPart("files"); /*取的需要上传的文件*/ String path = this.getServletC

Jmeter和LR上传文件和下载

Jmeter和LR上传文件和下载 背景: 在某个申请业务中,需要上传附件文件,然后才能提交该申请 遇到的问题: 1,  在使用Jmeter或者LR进行录制时,无法录制到上传文件的请求,只能通过Fiddler能查看到该请求 2,  因为录制不下来,只能手工构造,但网上相关的材料太少. 所以在这里整理备忘 Fiddler录制得到的请求的Header和Body如下面的两个截屏 body 截图如上,注意Header截图[Content-Type:multipart/form-data;boundary=

java文本、表格word转换生成PDF加密文件代码下载

原文:java文本.表格word转换生成PDF加密文件代码下载 代码下载地址:http://www.zuidaima.com/share/1550463239146496.htm 这个实现了PDF加密功能,和一些基本的问题. java文本.表格word转换生成PDF加密文件代码下载,布布扣,bubuko.com

ArcGIS10.2.1精简版、ArcGIS_Desktop10_Tutorial、破解文件等下载地址

原版ArcGIS for Desktop的ISO文件一般都在4.5G以上,一般人用不上里面很多工具,下载回来又浪费时间,现推出ArcGIS10.2.1精简版(里面只包含主程序.Data Interoperability和License工具).下载地址: http://pan.baidu.com/s/1jGp23t0 令外放出ArcGIS_Desktop10_Tutorial,需要的同学赶快了.ArcGIS10.2.1精简版.ArcGIS_Desktop10_Tutorial.破解文件等下载 出处

JAVA代码时间SFTP文件的下载

参考文章:http://blog.csdn.net/smallerpig/article/details/50976191 SFTP文件的下载与FTP文件的下载差别较大,需要下载jsch-0.1.54jar包 package com.cd.util; import com.jcraft.jsch.JSchException; public class SftpDownloadTestScript { public static void main (String[] args)throws JS