请问怎么实现点链接直接下载文件,而不是打开一个文件

zhuhao 2013-10-29 02:20:27
我现在页面有一个链接(<a>标签),旁边有个下载的图标,我想点下载的图标是直接下载文件,而不要像链接一样打开文件,但链接可以直接打开文件,我提示下载的文件一般都是txt,pdf,xls文件,请问怎么实现
...全文
1820 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
码无边 2013-10-30
  • 打赏
  • 举报
回复
<? 
$file_name = "xxx.rar";     //下载文件名  
$file_dir = "./up/";        //下载文件存放目录  
//检查文件是否存在  
if (! file_exists ( $file_dir . $file_name )) {  
    echo "文件找不到";  
    exit ();  
} else {  
    //打开文件  
    $file = fopen ( $file_dir . $file_name, "r" );  
    //输入文件标签   
    Header ( "Content-type: application/octet-stream" );  
    Header ( "Accept-Ranges: bytes" );  
    Header ( "Accept-Length: " . filesize ( $file_dir . $file_name ) );  
    Header ( "Content-Disposition: attachment; filename=" . $file_name );  
    //输出文件内容   
    //读取文件内容并直接输出到浏览器  
    echo fread ( $file, filesize ( $file_dir . $file_name ) );  
    fclose ( $file );  
    exit ();  
}  
?> 
bing15 2013-10-30
  • 打赏
  • 举报
回复
你只需在相应的目标文件中,加个head头信息,点击的话,就会自动下载
zixiao123 2013-10-29
  • 打赏
  • 举报
回复
可以用 jquery吗?? $(function(){ // <a class='click' href='http://www.qq.com/a.txt'>down</a> $('body').on('click','a.click',function(e){ var _href = $(this).attr('href'); var form = $("<form>"); //定义一个form表单 form.attr("style", "display:none"); form.attr("target", ""); form.attr("method", "post"); form.attr("action", _href)); form.submit(); //表单提交 form.remove(); return false; }); });
嘘梦一场 2013-10-29
  • 打赏
  • 举报
回复
还取决与电脑,有的电脑默认设置了为打开文件 stonenote.net
zhuhao 2013-10-29
  • 打赏
  • 举报
回复
xuzuning大大: 那这样是不是下载那个功能,我要做个跳转页面
xuzuning 2013-10-29
  • 打赏
  • 举报
回复
下载或是打开取决于服务器返回的头

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧