+ -
当前位置:首页 → 问答吧 → apache扩展开发遇到的一个问题:文件下载

apache扩展开发遇到的一个问题:文件下载

时间:2010-07-09

来源:互联网

需求是这样的:
1.用户请求一个加密的连接,譬如:http://www.1.com/46303d473f767c863f71423f
2.我解密这个串,得到一个文件的物理地址,譬如:http://www.1.com/1.txt
3.弹出下载框,然后开始下载

现在的问题是如何请求这个地址呢?

php里面可以用发送header的方式来实现:

<?php

header('Content-type: application/image/pjpeg');//输出的类型  
header('Content-Disposition: attachment; filename="downloaded.jpg"'); //下载显示的名字,注意格式  
readfile('my.jpg');  
// 并将这个文件以前面header发送信息设定的类型输出,从而会弹出一个下载框  
// 就是把服务器上的my.jpg下载下来,下载显示和保存的名字默认是downloaded.jpg  

?>

作者: 闸北陆小洪   发布时间: 2010-07-09

lighttpd的mod_secdownload已经是很成熟的方案了,比你想到这个要高效,而且传静态文件lighttpd比apache要快。

http://redmine.lighttpd.net/proj ... Docs:ModSecDownload

作者: 没本   发布时间: 2010-07-09

哥这个有许多办法可以用

作者: cc0cc   发布时间: 2010-07-09

apache有rewrite模块。

作者: noword2k   发布时间: 2010-07-09

mod_rewrite出来的容易被盗链,mod_secdownload带令牌,没可能盗链。

作者: 没本   发布时间: 2010-07-09