php http协议与文件下载

http协议


重定向

自动跳转

header("Location:https://www.baidu.com");

定时跳转

一段时间后,网站自动跳转到指定页面。

header("Refresh:2; url=http://www.baidu.com");

设置编码方式

设置文字的编码方式为utf-8

header("context-type:text/html;charset=utf-8");

禁用缓存

header("Cache-control:no");
header("Expires:-1");
header("Pragma:no-cache");

http综合利用–文件下载
文件:1、文本文件(.txt); 2、二进制文件(图片、视频、音频)

function downFile($fileName, $file_sub_dir)
{
    //低版本需要将中文文件名utf-8转换成gb2312,否则找不到文件
    $fileName = iconv("utf-8","gb2312", $fileName);
    //绝对路径
    $file_path = $_SERVER['DOCUMENT_ROOT'] . $file_sub_dir . $fileName;
    if (!file_exists($file_path)) {
        echo "文件不存在";
        return;
    }
    //打开文件,返回句柄,r以只读的方式
    $fp = fopen($file_path, "r");
    //获取文件大小,单位是byte
    $file_size = filesize($file_path);
    //声明返回的是文件类型
    header("Content-type:application/octet-stream");
    //按照字节大小返回
    header("Accept-Ranges:bytes");
    //返回文件大小
    header("Accept-Length:$file_size");
    //客户端弹出对话框,对应的名字
    header("Content-Disposition:attachment;filename=" . $fileName);

    //向客户端回送数据
    //每次发送的大小
    $buffer = 1024;
    //为了下载的安全,我们最好做一个文件直接读取计数器
    $file_count = 0;
    //判断文件是否结束
    while (!feof($fp) && ($file_size - $file_count) > 0) {
        $file_data = fread($fp, $buffer);
        //把部分数据回送给浏览器
        $file_count += $buffer;
        echo $file_data;
    }
    //关闭文件
    fclose($fp);
}
downFile("1.png","/down/");
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值