分享PHP header函数使用教程

下面是“分享PHP header函数使用教程”的完整攻略:

下面是“分享PHP header函数使用教程”的完整攻略:

一、什么是header函数

header() 函数是一个实用的 PHP 函数,它向客户端发送原始的 HTTP 报头。此函数用于控制网页缓存信息,文件下载等内容。

二、header函数的语法

header() 函数的语法如下:

header(string, replace, http_response_code)

参数说明:

  • string 必需,规定要发送的 header 字符串。注意:请使用非缓存相关头部信息之前不得有任何输出。
  • replace 可选,规定是否覆盖之前发送的相同类型的 header。默认是 True(即,替换之前发送的 header),若设置成 False,则不替换之前的 header。
  • http_response_code 可选,为相应的 HTTP 状态码。例如可以传递 404 来表示没有找到页面等等。可以是一些 http:// 状态码。

三、如何使用header函数

1. 跳转到指定页面

一个最简单的使用 header() 函数的例子是将用户跳转到一个指定的页面。这里我们以跳转到百度搜索为例。

<?php
header('Location: https://www.baidu.com/s?wd=php', true, 301);
exit; // 跳转后需要 exit 结束程序
?>

说明:

  • Location 是要跳转到的页面。
  • true 表示用新的 Location 替换之前的 Location。
  • 301 表示请求的页面已永久移动到了新的 Location。

注意:在使用 Location 时,必须放在任何其他输出之前。

2. 文件下载

下面是使用 header() 函数下载文件的实例代码:

<?php
    // 告诉浏览器这是一个文件流格式的文件
    header('Content-Type: application/octet-stream');
    // 告诉浏览器返回的文件大小类型为字节
    header('Accept-Ranges:bytes');
    // 获取下载文件的大小
    $fileSize = filesize('yourfile.zip');
    //告诉浏览器返回的文件大小
    header('Accept-Length:'.$fileSize);
    // 告诉浏览器该文件的类型
    header('Content-type: application/force-download');
    // 告诉浏览器该文件的名字
    header('Content-Disposition: attachment;filename="yourfile.zip"');
    // 需要下载的文件名
    $fileName = "yourfile.zip";
    // 下载文件必须先清除缓冲区,否则会文件损坏
    ob_clean();
    ob_start();
    // 读取发给请求的文件
    readfile($fileName);
    ob_flush();
    flush();
?>

说明:

  • Content-Type 是HTTP头信息,定义文件格式,如果使用应用程序为Octet-Stream,应用程序可以处理所有文件格式。
  • Accept-Ranges 告诉客户端浏览器可以使用分段下载。
  • Accept-Length 是HTTP头信息,为浏览者提供下载文件的大小。
  • Content-Disposition 为真实的文件名,告诉浏览器它是一个附件,用附加的方式(attachment)下载,用filename属性指定下载后默认的文件名。

希望这篇教程对你有所帮助。

本文标题为:分享PHP header函数使用教程

基础教程推荐