php实现文件下载代码

上传人:油条 文档编号:20305127 上传时间:2017-11-21 格式:DOCX 页数:4 大小:17.33KB
返回 下载 相关 举报
php实现文件下载代码_第1页
第1页 / 共4页
php实现文件下载代码_第2页
第2页 / 共4页
php实现文件下载代码_第3页
第3页 / 共4页
php实现文件下载代码_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《php实现文件下载代码》由会员分享,可在线阅读,更多相关《php实现文件下载代码(4页珍藏版)》请在金锄头文库上搜索。

1、php 实现文件下载代码简单的文件下载只需要使用 HTML 的连接标记,并将属性 href 的 URL 值指定为下载的文件即可。所示:下载文件 如果通过上面的代码实现文件下载,只能处理一些浏览器不能默认识别的 MIME 类型文件,例如当访问 book.rar 文件时,浏览器并没有直接打开,而是弹出一个下载提示框,提示用户“下载”还是“打开”等处理方式。但如果需要下载后缀名为.html 的网页文件、图片文件及 PHP 程序脚本文件等,使用这种连接形式,则会将文件内容直接输出到浏览器中,并不会提示用户下载。为了提高文件的安全性,不希望在 标签中给出文件的链接,则必须向浏览器发送必要的头信息,以通知

2、浏览器将要进行下载文件的处理。PHP 使用 header()函数发送网页的头部信息给浏览器,该函数接收一个头信息的字符串作为参数。文件下载需要发送的头信息包括以下三部分,通过调用三次 header()函数完成。以下载图片 test.gif 为例,需要发送的头信息的所示:?123header(Content-Type:imge/gif); /发送指定文件 MIME类型的头信息header(Content-Disposition:attachment; filename=”test.gif”); /发送描述文件的头信息,附件和文件名header(Content-Length:3390); /发送指

3、定文件大小的信息,单位字节如果使用 header()函数向浏览器发送了这三行头信息,图片 test.gif 就不会直接在浏览器中显示,而让浏览器将该文件形成下载的形式。在函数 header()中,“Content-Type”指定了文件的 MIME 类型,“Content_Disposition ”用于文件的描述,值“attachment; filename=”test.gif”说明这是一个附件,并且指定了下载后的文件名,“Content_Length”则给出了被下载文件的大小。设置完头部信息以后,需要将文件的内容输出到浏览器,以便进行下载。可以使用PHP 中的文件系统函数将文件内容读取出来后,

4、直接输出给浏览器。最方便的是使用readfile()函数,将文件内容读取出来直接输出。下载文件 test.gif 的所示:?123456789上面如果碰到中文名字就会无法正常下载了,对于中文名字下载文件我又找到一个文件下载实例代码?1234567891011121314header(Content-type:text/html;charset=utf-8)的作用:在服务器响应浏览器的请求时,告诉浏览器以编码格式为 UTF-8 的编码显示该内容关于 file_exists()函数不支持中文路径的问题:因为 php 函数比较早,不支持中文,所以如果被下载的文件名是中文的话,需要对其进行字符编码转换

5、,否则 file_exists()函数不能识别,可以使用 iconv()函数进行编码转换$file_sub_path() 我使用的是绝对路径,执行效率要比相对路径高?1234Header(Content-type: application/octet-stream)的作用:通过这句代码客户端浏览器就能知道服务端返回的文件形式 Header(Accept-Ranges: bytes)的作用:告诉客户端浏览器返回的文件大小是按照字节进行计算的 Header(Accept-Length:.$file_size)的作用:告诉浏览器返回的文件大小 Header(Content-Disposition: attachment; filename=.$file_name)的作用:告诉浏览器返回的文件的名称 以上四个 Header()是必需的 fclose($fp)可以把缓冲区内最后剩余的数据输出到磁盘文件中,并释放文件指针和有关的缓冲区

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号