• php提供下载服务实例


    两个步骤:1,通过header头信息告诉浏览器,我给你回应的是一个附件请接收

        2,通过php读取下载的文件的内容并返回

         

    前端

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <a href="dowload.php">下载</a>
    </body>
    </html>

    后端

    <?php
    /**
     * Created by PhpStorm.
     * User: 小辛
     * Date: 2019/1/24
     * Time: 16:29
     */
    
    //文件名
    $file_name = 'phpStudySetu1p.exe';
    //文件路径
    $full_path = 'img/'.$file_name ;
    //如果有该文件(找到了)
    if(file_exists($full_path)){
        //文件大小
        $filesize = filesize($full_path);
        //告诉浏览器,回应的是字节流
        header("Content-Type:octet/stream");
        //单位是字节
        header("Accept-Range:bytes");
        //内容长度多少
        header("Content-Length:$filesize");
        //告诉浏览器回应的文件名称是什么
        header("Content-Disposition:attchment;filename=$file_name");
    
        //读取文件
        $file = fopen($full_path,'r');
        //向客户端回送数据
        $buffer=1024;//
        //判断文件是否读完
        while (!feof($file)) {
            //将文件读入内存
            $file_data=fread($file,$buffer);
            //每次向客户端回送1024个字节的数据
            echo $file_data;
        }
        fclose($file);
    
    
    
    }else{
        //返回相应的错误头消息,避免跳转
    }
  • 相关阅读:
    FastAdmin 提示框 toastr 改变文字
    FastAdmin 将会员模块升级为基础模块的升级指导
    随笔
    随笔
    c++11 lambda(了解)
    c++11 类型推断
    boost::archive::text_oarchive
    std::ostringstream
    随笔
    随笔1
  • 原文地址:https://www.cnblogs.com/cl94/p/10315752.html
Copyright © 2020-2023  润新知