php 禁止页面缓存输出

当使用 PHP 生成网页时,有时需要禁止浏览器缓存输出内容,以确保每次加载都能够获得最新的内容,避免因缓存造成的过期或错误的显示。

当使用 PHP 生成网页时,有时需要禁止浏览器缓存输出内容,以确保每次加载都能够获得最新的内容,避免因缓存造成的过期或错误的显示。

以下是实现 PHP 禁止页面缓存输出的完整步骤:

方法一:使用 HTTP Headers

第一种方法是使用 PHP 的 header() 函数向浏览器发送 HTTP Header,告知浏览器不要缓存响应内容。具体示例代码如下:

<?php
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");

// 需要输出的内容
echo "Hello world!";
?>

这段代码中,我们通过 header() 函数向浏览器发送了两个 HTTP Header,分别是:

  • Cache-Control: no-cache, must-revalidate:告知浏览器不要缓存响应内容,每次都需要重新请求服务器获取最新内容。
  • Expires: Sat, 26 Jul 1997 05:00:00 GMT:设置响应过期时间为 1997 年 7 月 26 日,强制浏览器每次都请求最新内容。

方法二:在 HTML 页面中添加随机参数

第二种方法是在 HTML 页面 URL 引用中添加随机参数,每次请求 URL 时生成不同的参数值,以此来避免浏览器缓存。具体代码如下:

<!DOCTYPE html>
<html>
<head>
    <title>禁止缓存示例</title>
</head>
<body>
    <!-- 使用时间戳作为随机参数 -->
    <img src="image.jpg?<?php echo time(); ?>" alt="">
    <script src="script.js?<?php echo time(); ?>"></script>
</body>
</html>

这段 HTML 代码中,我们在图片和脚本的 URL 后面添加了一个随机参数 <?php echo time(); ?>,每次请求时生成一个新的时间戳,保证每次请求都是新的,避免浏览器缓存。

本文标题为:php 禁止页面缓存输出

基础教程推荐