`
王之子
  • 浏览: 105633 次
  • 性别: 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

分享到:
评论

相关推荐

    Php中文件下载功能实现超详细流程分析

    客户端从服务端下载文件的流程分析: 浏览器发送一个请求,请求访问服务器中的某个网页(如:down.php),该网页的代码如下。 服务器接受到该请求以后,马上运行该down.php文件 运行该文件的时候,必然要把将要被...

    html5文件上传器演示

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

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

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

    HTML5+FLASH+php+文件上传

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

    PHP服务端环境搭建的图文教程(分享)

    一、PHP服务端环境搭建 1.php 服务端环境 安装套件 xampp(apach+mysql+php解释器) F:\MyDoc文件(重要)\DL_学习\download重要资源\apache服务器组件 安装 此时进入xmapp面板显示成功运行 测试本地Apache服务器是否...

    漂亮的H5+Ajax文件上传页模版_完美兼容浏览器

    1.可用于移动端H5 ...3.PHP服务端文件接收请使用$_FILES 4.设置的格式支持MP3,WAV可自己调整 5.如果后端接收到的tmp_name为空,请检查服务端允许上传的文件大小,比如PHP.ini的upload_max_filesize

    oss-h5-upload-js-php

    签名在服务端(php)完成, 安全可靠, 推荐使用! 显示上传进度条 可以控制上传文件的大小,允许上传文件的类型,本例子设置了,只能上传jpg,png,gif结尾和zip文件,最大大小是10M 最关键的是,让你10分钟之内就能移植到你...

    php上传进度条APC

    国外有一个真正异步上传的例子,但它是在服务端用perl语言获取上传文件的信息,如果空间仅支持php不支持perl那就没辙。目前很多专做文件分享的网站都是由于具有系统配置权限从而添加了相应的服务器支持才实现的。...

    通达OA2016-9.7.161212破解补丁

    1、到官网下载OA2016最新版服务端安装包、用户PC端办公精灵、手机端下载址:http://www.tongda2000.com/download/2016.php 2、安装OA服务端到电脑或服务器或云主机或VPS主机 3、安装完,在OA服务管理器(MYOA\BIN\...

    JAVA上百实例源码以及开源项目

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    aliyun-oss-appserver-js-master-lss.zip

    OSS web直传---在服务端java 签名, OSS会在文件上传成功,回调用户设置的回调url 基于plupload封装 支持html5,flash,silverlight,html4 等协议上传 可以运行在PC浏览器,手机浏览器,微信 签名在服务端(java)完成, ...

    PHP语法小结之基础和变量

    最近有个H5项目的需求,需要服务端,考察过后决定用PHP实现一个HTTP服务端,于是开始重温PHP语法,顺便记录一下要点,以便随时重温。内容摘抄自w3school的PHP手册,并按照自己的理解重新进行了整理。 PHP是什么? ...

    vue服务端渲染缓存应用详解

    在 Web 最初的时候,页面就是通过服务端渲染来返回的,用 PHP 来说,通常是使用 Smarty 等模板写模板文件,然后 PHP 服务端框架将数据和模板渲染为页面返回,这样的服务端渲染有个缺点就是一旦要查看新的页面,就...

    PHP大文件分割上传 PHP分片上传

    服务端为什么不能直接传大文件?跟php.ini...好在HTML5开放了新的FILE API,也可以直接操作二进制对象,我们可以直接在浏览器端实现文件切割,按照以前的做法就得用Flash的方案,实现起来会麻烦很多。 JS思

    出入登记系统PHP源码演示,聊聊它的概念与特点.docx

    此外,PHP还具有开发速度快、可扩展性强、跨平台性好等特点,这些特性让PHP成为了广泛应用于Web开发、服务端编程、命令行脚本编写等领域的首选语言。 在Web开发方面,PHP可以与HTML、CSS、JavaScript等前端技术结合...

    悟空CRM 9.0(PHP版)

    导入服务端根文件夹数据库文件public/sql/5kcrm.sql,并修改config/database.php配置文件。 配置要求 PHP >= 5.6.0 (暂不支持PHP7及以上版本) 当访问 http://localhost/, 出现“悟空软件”即代表后端接口搭建...

    实例说明js脚本语言和php脚本语言的区别

    php是服务端脚本, 由php服务执行, php脚本跟shell脚本(bash执行)颇为类似。 来看看js脚本, 写一个test.html文件, 其中内容为: [removed] alert(this is js); [removed] 直接双击本地的test.html...

    aardio(快手AAuto Quicker) v17.45

    使用 wsock.tcp.simpleHttpServer 甚至只需要一句代码就可以创建一个微型嵌入式HTTP服务端(可以结合浏览器组件方便的用于桌面软件的Web界面开发),aardio语法可直接支持与PHP类似的HTML模板语法,提供语言级别的...

    详解基于React.js和Node.js的SSR实现方案

    SSR:即服务端渲染(Server Side Render) 传统的服务端渲染可以使用Java,php 等开发语言来实现,随着 Node.js 和相关前端领域技术的不断进步,前端同学也可以基于此完成独立的服务端渲染。 过程:浏览器发送请求 -> ...

Global site tag (gtag.js) - Google Analytics