首页 > 其他 > 详细

文件下载

时间:2015-10-04 17:12:12      阅读:188      评论:0      收藏:0      [点我收藏+]

两种方式解决下载问题:

方法一:使用a标签实现

将一个文件通过a标签的href进行链接:当用户点击的时候,浏览器不能识别该文件,就会变成下载。

A标签下载的问题

  1. 文件不能是任意文件:只有浏览器不能识别的文件才会当成附件下载;能识别会被直接打开;
  2. 文件必须是真实存在,而且一定会暴露文件的地址。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>文件下载</title>
</head>
<body>
    <a href=‘a.rar‘>download</a>
</body>
</html>

方法二:php下载

Php本身没有能力实现下载:只有输出功能,将文件读取到内存,然后输出给浏览器。

PHP能够修改http协议:可以通过http协议告诉浏览器,当前内容不要直接打开,应该以附件的形式保存。

1.告诉浏览器:当前数据是二进制流,不要打开

header("Content-type: application/octet-stream")

2.告诉浏览器:应当以附件保存,还给出另存为的名字

3.header("Content-Disposition: attachment; filename=目标名字" )

Php直接输出内容即可:echo file_get_contents

<?php

    //PHP实现文件下载
    $file_name = "a.rar";

    //告诉浏览器:不要解析数据
    header("Content-type:application/octet-stream");

    //告诉浏览器:当做附件处理,给出建议名字
    header("Content-Disposition:attachment;filename=".$file_name);

    //输出数据
    readfile($file_name);
    
    //echo file_get_contents(‘test.txt‘);

 

文件下载

原文:http://www.cnblogs.com/lesuso/p/4854667.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!