`
王之子
  • 浏览: 109901 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

浏览器下载文件,PHP服务端如何实现

阅读更多

  在做Web开发时,用户下载附件是经常遇到的一种情况。在HTML页面中,我们只要给个链接就可以了,但在服务器端要做怎样的处理呢?

 

   以下的代码是用PHP语言写的,当用户用浏览器下载文件时,服务端所要做的处理。不管用Java还是.Net,基本原理是一样的,涉及的都是关于Http协议。





$file_path = ROOT_PATH . '/uploads/accessories/'. $_GET ['name'];//文件的物理路径。一般来说,我们都是把文件(Excel、Word)直接存在硬盘上,而不是数据库

header ( 'Content-Disposition: attachment; filename=' . urlencode ( $_GET ['filename'] ) );//如果文件名是中文的, urlencode 之后在IE不会出现中文乱码

header ( 'Content-type: application/octet-stream;' );

header ( 'Content-Length: ' . filesize ( $file_path ) );//文件的大小

readfile ( $file_path );

exit ();

 

PS:简单补充一下HTTP协议的简单介绍:

 

http://www.cnblogs.com/skynet/archive/2010/12/11/1903347.html

 

原文链接:http://woqilin.blogspot.com/2012/09/php_12.html

分享到:
评论

相关推荐

    基于浏览器的 服务端控制客户端弹窗

    在IT领域,基于浏览器的服务器端控制客户端弹窗是一种常见的交互技术,特别是在Web应用...在提供的"test"压缩包文件中,可能包含了实现这一功能的相关代码和资源,通过分析这些文件,可以进一步了解其具体实现方式。

    fusionchart实现服务端的下载

    这就是服务端下载的需求。 1. **服务端生成图表**: FusionCharts提供了服务器端API,可以利用这些API在服务器端生成图表的SVG或PNG格式图像。这通常涉及到几个步骤: - 首先,你需要在服务器端安装并设置...

    jqueryfileupload 客户端和服务端所需要的js文件

    4. 实现服务端接口,处理文件上传请求,保存文件并返回响应。 5. 可选:根据需求自定义UI和行为,如添加进度条、错误提示等。 五、关键特性 - 多文件选择和批量上传 - 支持大文件分块上传 - 响应式设计,适应各种...

    VB上传本地文件到服务器

    在VB(Visual Basic)编程中,上传本地文件到...综上所述,VB实现本地文件上传到服务器涉及文件选择、HTTP通信以及服务器端处理。虽然这个过程看似简单,但实际开发中需要考虑许多因素,包括兼容性、性能和安全性。

    HTML 页面直接调用 php 文件的方法

    如果HTML页面和PHP服务端分离,可以构建RESTful API来实现通信。PHP作为后端提供API接口,HTML前端通过HTTP请求获取数据。这种方式有利于前后端分离,提高代码可复用性和可维护性。 综上所述,HTML页面调用PHP文件...

    html5文件上传器演示

    客户端完全基于JavaScript的浏览器文件上传器,不需要任何浏览器插件,但需要和jQuery框架协同工作,支持超大文件上传,其算法是将一个超大文件切片成N个数据块依次提交给服务端处理,由服务端存储断点信息实现断点...

    服务端uc_server

    总的来说,uc_server是一个包含文件上传和展示功能的服务端应用,其核心在于Model层的实现。理解这个系统需要掌握PHP文件操作、服务器端编程、MVC架构、文件上传安全以及HTTP协议等相关知识。对于开发者来说,深入...

    服务端代码Server

    在IT行业中,服务端代码是构建网络应用的核心部分,它负责处理客户端的请求,管理和...在提供的文件列表"Server"中,可能包含了实现这些功能的源代码文件,可以通过查看和分析这些文件深入了解服务端代码的具体实现。

    flex文件上传下载

    Flex文件上传下载是一种在Web应用中实现文件交互的技术,它主要使用Adobe Flex框架来构建富互联网应用程序(RIA)。Flex提供了一种强大的方式来创建交互式的、图形化的用户界面,其中包括处理文件上传和下载功能。在...

    实现浏览器访问基于workman的异步任务

    在这个场景下,我们将探讨如何实现浏览器访问基于Workerman的异步任务。 首先,理解工作原理。Workerman采用多进程模型,每个工作进程都在后台独立运行,可以同时处理多个连接请求,极大地提高了服务端的并发能力。...

    php大文件上传解决方案支持分片断点上传

    而且在http协议下,我们无法保持浏览器与服务端的长连接,不能以文件流的形式来提交。所以要解决的问题具体来讲有以下几点: 对上传的文件进行分割,每次只上传一小片。服务端接收到文件后追加到原来部分,最后合并...

    flex 上传,包含服务端

    在本项目中,"flex上传"指的是利用Flex技术实现文件上传功能,而"包含服务端"则意味着这个项目不仅包括客户端的Flex代码,还包含了服务器端处理文件上传的逻辑。 1. **Flex客户端**:Flex客户端通常由ActionScript...

    HTTP_POST_PHP.rar_HTTP PHP_http post_http 服务端_http服务器_php http

    在这个场景下,我们讨论的是如何使用HTTP的POST方法将数据或文件从客户端(例如VC编写的程序)上传到服务器端,然后由PHP来处理这些数据。 首先,理解HTTP POST方法。POST是HTTP请求方法之一,主要用来向服务器提交...

    Nextcloud 服务端 源代码安装包nextcloud-19.0.1.zip

    Nextcloud是一款开源的私有云存储解决方案,它允许用户在自己的服务器上搭建个人或团队的云存储服务,从而实现数据的安全、可控存储。这个“Nextcloud 服务端 源代码安装包nextcloud-19.0.1.zip”包含了Nextcloud ...

    Asp.Net多文件下载Demo

    Asp.Net多文件下载Demo是针对Web应用中批量下载文件的一种实现方式,主要涉及的技术包括文件上传、前端交互以及后端处理。在这个Demo中,开发者可能利用了SwfUpload库来实现用户界面的友好交互,使得用户可以方便地...

    基于PHP的linux的远程管理系统(服务端).zip

    【标题】"基于PHP的Linux远程管理系统(服务端)"是一个专为Linux系统设计的Web管理工具,旨在提供一种安全且便捷的远程控制方案。它利用PHP编程语言的强大功能,结合Linux系统的稳定性和安全性,实现了从任何有网络...

    socket-php文件分段上传

    本项目聚焦于“socket-php文件分段上传”,通过使用Socket接口与PHP服务端进行交互,实现大文件的高效、稳定传输。在这个过程中,文件被分成多个小段,逐个发送,以解决一次性传输大文件可能导致的网络中断问题。 ...

    pdf在线标注的核心文件,由JavaScript和php实现

    这个核心文件的实现主要依赖于JavaScript和PHP两种编程语言,它们分别在前端和后端发挥关键作用。 **JavaScript** JavaScript,通常简称为JS,是运行在用户浏览器中的脚本语言,主要用于处理用户交互、动态内容和...

    php将服务端的文件读出来显示在web页面实例

    在本文中,我们将深入探讨如何使用PHP将服务端的文件内容读取并显示在Web页面上,以`orders.txt`为例。PHP作为一种流行的服务器端脚本语言,常用于处理动态网页内容,包括读取和展示文件。以下是实现这一功能的关键...

    HTML5+FLASH+php+文件上传

    兼容主流浏览器 接口一致 实现了两套运行时支持 用户无需关心内部用了什么内核 同时Flash部分没有做任何UI相关的工作 方便不关心flash的用户扩展和自定义业务需求 MD5秒传 当文件体积大 量比较多时 支持上传前...

Global site tag (gtag.js) - Google Analytics