我一直在使用Visual Studio编程,但当我在CSS或其他文件中进行更改时,浏览器会加载最后一个缓存页,我必须在每次测试中手动清除缓存.所以我一直在try 先清理缓存,但PHP头文件不起作用.

<?php

header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Content-Type: application/xml; charset=utf-8");
exit;

?>

我已经把php代码放在 在<!DOCTYPE html>之前和之后 <html>标签之前和之后 <header>标签之前和之后 <body>标签之前和之后

根据php手册站点

请记住,必须在发送任何实际输出之前调用header(),无论是通过普通的HTML标记、文件中的空行还是从PHP发送.

这意味着它必须放在HTML标记之前.但这给了我一个错误:

显示此错误:

This page contains the following errors:
error on line 4 at column 1: Start tag expected, '<' not found
Below is a rendering of the page up to the first error.

如果我删除头文件,代码就能正常工作

在Chrome浏览器中.

还try 了该功能:

clearstatcache(bool $clear_realpath_cache = false, string $filename = ""): void

但它不起作用,或者我不知道如何或在哪里实现.

推荐答案

为了防止浏览器在网站开发过程中使用缓存的css或js文件,您需要为浏览器提供一个新的文件,以便每次加载.

使用PHP,您可以将动态参数附加到URL.您可以使用rand()date()uniqid()或任何其他函数每次创建一个新值.

<link rel="stylesheet" href="styles.css?version=<?php echo rand(); ?>">

Php相关问答推荐

在Laravel中,如果我用session—put()存储一些信息,客户端浏览器是否可以使用这些信息?>

过滤WooCommerce管理员订单列表(+HPOS)中包含其作者产品的订单

在php中有没有办法比较两个包含相同枚举类型的枚举数组

在ShipStation for WooCommerce中使用自定义订单项目元数据

多行PHP属性声明中是否允许单行注释

如何使用php一次更新两个数据库中的MySQL表

Apache只允许index.php-不从根目录工作

如何在php网站代码中清理浏览器缓存

如何从该字符串中删除这些图标转换的ASCII问号字符?

上传WordPress模板中的翻译文件(.mo和.po)

从字符串转换日期和/或时间时,Laravel转换失败

dyld[45923]:未加载库:/usr/local/opt/libavif/lib/libavif.15dylib

在具有Angular 的 Laravel 应用程序中,不显示图像

Golang - Html 模板:如何创建导航项 - 子菜单?我找不到怎么做

安装 Herd 并返回 Valet 后为 502

PHP 简单 XML Xpath 上移树(带有名称的父级)

如何获得没有运输等级的产品

如何在WooCommerce中为访客购买者分配自定义客户代码

如何使用动态变量定义 bind_result?

将变量从中间件传递到控制器 Laravel