宝塔双11特惠活动,企业版2299元/3年,立省700元,还送3年SSL证书!查看活动
当前位置:论坛首页 > Linux面板 > 求助

求助:PHP+宝塔NGINX 实现静态资源下载

发表在 Linux面板2023-5-8 12:18 [复制链接] 0 3474

本帖最后由 zlh520 于 2023-5-8 15:22 编辑

为了能快速了解并处理您的问题,请提供以下基础信息:
面板、插件版本:7.9.8

系统版本:centos

问题描述:

相关截图(日志、错误):

PHP代码:
  1. <?php
  2.     //程序根目录
  3.     define('ROOT_PATH', dirname(dirname($_SERVER['SCRIPT_FILENAME'])).'/');

  4.     $txtpath = '《官场女人》/官场女人 01.mp3';

  5.     $_file = ROOT_PATH.$txtpath;
  6.     // 文件不存在
  7.     if(!is_file($_file)){
  8.         exit('文件不存在,可能已被删除');
  9.     }

  10.     $speed = 200;   // 200KB/s
  11.     $_file_limit_size = round(intval($speed) * 1024);
  12.    

  13.     // 启用 nginx X-Accel 下载
  14.     header('Content-Type: application/octet-stream');
  15.     $encoded_fname = rawurlencode('官场女人01.mp3');
  16.     header('Content-Disposition: attachment;filename="'.$encoded_fname.'";filename*=utf-8'."''".$encoded_fname);

  17.    
  18.     header('X-Accel-Buffering: yes');

  19.     // 不限速下载
  20.     if($speed !== ""){
  21.         header('X-Accel-Limit-Rate:'.$_file_limit_size);
  22.     }
  23.     header('X-Accel-Redirect: /mp3down/'. $txtpath);
  24.     exit;
  25. ?>
复制代码


2、宝塔面板->网站->xx.com->设置->伪静态,在里面配置规则如下:
  1. location /mp3down {
  2.   internal;
  3.   alias /www/wwwroot/xx.com/;
  4. }
  5. if (!-e $request_filename) {
  6.         rewrite ^/(.+) /index.php?rewrite=$1 last;
  7. }
复制代码


3、宝塔商店 - 已安装 - 找到nginx - 重启 nginx

4、访问:xx.com/mp3down/index.php,无法实现 mp3资源下载,提示信息如下:

  1. 无法访问此网站网址为 https://xx.com/mp3down/index.php 的网页可能暂时无法连接,或者它已永久性地移动到了新网址。
  2. ERR_INVALID_RESPONSE
复制代码




使用道具 举报 只看该作者 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表