nginx,apache web服务器支持POST动态下载文件

1.后端动态脚本处理下载;

<?php
ob_end_clean();
header('Content-Type: audio/mpeg');
$filename=$_GET['r'];
$file='/data/www/down/'.$filename;
$filename=$filename?$filename:'R_ACC_LOCATION_ALL.bin';
header('Content-Disposition: attachment; filename='.$filename );
header('Content-Length: ' . filesize($file));
$fp = fopen($file, 'rb');
fpassthru($fp);   //此处需要php去磁盘读文件然后传给web服务器,最后在传给客户端,也可以直接用  X-Sendfile 下载文件提高性能
fclose($fp);
//参考 http://blog.csdn.net/czh1986/article/details/8482384

2. nginx 服务器伪静态设置

 location / {
        if (!-e $request_filename)
        {
             rewrite ^/down/(.*)$ /down.php?r=$1 last;
         }
      }



3. apache 服务器配置

a. 打开rewirte 模块。

b. 然后在站点目录下面新建 .htaccess  文件

内容如下:

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule ^down/(.*)$ down.php?r=$1 [QSA,PT,L]
</IfModule>


4. 最终的POST 地址为 http://www.test.com/down/down-test.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值