当前位置:首页 > 后端 > php > 正文内容

php nginx实现文件下载

hxing6418个月前 (04-07)php2027

配置nginx

server {
        listen        80;
        server_name  demo.com;  #你的域名
        root   "D:/wwwroot/demo";  # 你的项目路径
        # 下载文件关键配置
         location /download/ {
            internal;
            alias G:/files/;  #  文件的路径
            sendfile on;   # 开启高效文件传输模式
            autoindex on;  # 开启目录文件列表
            autoindex_exact_size on;  # 显示出文件的确切大小,单位是bytes
            autoindex_localtime on;  # 显示的文件时间为文件的服务器时间
            charset utf-8,gbk;  # 避免中文乱码
          }
          ...
}


PHP代码实现逻辑

以下代码会下载  G:/files/demo.rar  文件,请确保文件存在

<?php 
        $origin_name = 'demo.rar';
        // 启用 nginx X-Accel 下载
        header('Content-Type: application/octet-stream');
        $encoded_fname = rawurlencode($origin_name);
        header('Content-Disposition: attachment;filename="'.$encoded_fname.'";filename*=utf-8'."''".$encoded_fname);
        header('X-Accel-Redirect: '. '/download/'. $origin_name);
        header('X-Accel-Buffering: yes');
>


扫描二维码推送至手机访问。

版权声明:本文由星星博客发布,如需转载请注明出处。

本文链接:https://www.xingxinghan.cn/?id=530

分享给朋友:
返回列表

上一篇:php实现微信公众号扫码登录

没有最新的文章了...

“php nginx实现文件下载” 的相关文章

php运行报错:Using $this when not in object context

php运行报错:Using $this when not in object context以下是我的代码:错误代码实例:public static function getInfo() {     // ....

php获取下个月,下一年此刻的时间戳

获取当前时间戳:$now = time();获取下个月此刻的时间戳:$nextMonth = strtotime('+1 month');获取下一年此刻的时间戳$nextYear = strtotime('+1 year');...

php使用SplFileObject逐行读取CSV文件的高效方法

在PHP开发中,处理CSV文件是一项常见的任务。然而,如果CSV文件非常庞大,一次性将整个文件加载到内存中可能会导致内存溢出的问题。为了解决这个问题,我们可以使用PHP提供的SplFileObject类来逐行读取CSV文件,从而减少内存的占用。SplFileObject是PHP的一个内置类,它提供了...

php字符串压缩工具

判断字符串是否需要压缩,然后再进行压缩,需要优化的地方很多,比如把压缩结果保存起来,避免执行2次,判断是依赖于压缩的结果大小和原始字符串的大小来判断的,懒得处理了。代码如下/**  * 字符串压缩工具  */ class CompressStrUtil...

php es 报错 No alive nodes. All the 1 nodes seem to be down

php连接es时报错No alive nodes. All the 1 nodes seem to be down,原因是Elasticsearch开启了安全认证,查看服务器端响应信息为:received plaintext http traffic on&n...

php实现微信公众号扫码登录

php实现微信公众号扫码登录

服务器配置登录微信公众平台,左侧点开设置与开发 -> 基本设置,如图所示:设置好按照指示设置好配置,服务端代码如下:<?php // 微信token认证 $signature = $_GET["signature"]; $times...

评论列表

http://www.kangyanshi.com
1个月前 (10-30)

你的文章内容非常卖力,让人点赞。

http://www.jiudong168.com
1个月前 (10-30)

你的文章充满了创意,真是让人惊喜。

https://501h.com/heji/2024-10-30/45787.html

看到你的文章,我仿佛感受到了生活中的美好。

青丝影院
3周前 (11-17)

《曼谷保镖2(未删减版)》喜剧片无广告高清版:https://www.jinzhuqq.com/dyvideo/37545.html

www.55baobei.com
1周前 (11-27)

你的文章充满了创意,真是让人惊喜。 https://www.4006400989.com/qyvideo/18260.html

传奇手游
1周前 (11-27)

道术真的能决定宝宝的传奇**走向吗?:https://501h.com/heji/15934.html

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。