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{
    //返回相应的错误头消息,避免跳转
}

 

转载于:https://www.cnblogs.com/cl94/p/10315752.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值