Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
让浏览器缓存我的动态PHP样式表_Php_Css_Caching_Dynamic_Browser - Fatal编程技术网

让浏览器缓存我的动态PHP样式表

让浏览器缓存我的动态PHP样式表,php,css,caching,dynamic,browser,Php,Css,Caching,Dynamic,Browser,我想在PHP文件(styles.PHP)中创建一个样式表,这样样式表就会变得动态,这取决于请求的用户。对于每个用户,样式表都是固定的,因此应该缓存在其客户端浏览器上 我已经读到,您可以通过为内容类型和缓存控制等设置标题来实现这一点,但我无法实现这一点。显然还有更多,甚至可能根本不可能。浏览器似乎并不总是侦听缓存头 有人知道在浏览器中缓存PHP文件需要什么吗 我不想把所有的动态CSS放在HTML的一个样式块中,我也不想为此更改Apache配置。如果我真的不可能得到我想要的,我也想知道。谢谢 这似乎

我想在PHP文件(styles.PHP)中创建一个样式表,这样样式表就会变得动态,这取决于请求的用户。对于每个用户,样式表都是固定的,因此应该缓存在其客户端浏览器上

我已经读到,您可以通过为内容类型和缓存控制等设置标题来实现这一点,但我无法实现这一点。显然还有更多,甚至可能根本不可能。浏览器似乎并不总是侦听缓存头

有人知道在浏览器中缓存PHP文件需要什么吗


我不想把所有的动态CSS放在HTML的一个样式块中,我也不想为此更改Apache配置。如果我真的不可能得到我想要的,我也想知道。谢谢

这似乎类似,请检查


这些标题应该可以正常工作:

$expires = 60*60*24; // how long to cache in secs..
header("Pragma: public");
header("Cache-Control: maxage=".$expires);
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$expires) . ' GMT');
header('Content-type: text/css');

影响样式表的因素有哪些?用户是否能够配置样式表?还是创建一个随机的?我们的系统有许多模块,并且有一个中央Web服务,为登录的用户返回一些样式设置。对我来说,它们是随机的,但显然它们与一些用户细节有关,比如它所属的组?如果是这样的话,这很可能是你的问题。我现在无法检查,但如果我记得正确的话,php会在使用会话时默认覆盖缓存头。所以,检查浏览器收到的样式表标题。这是我还没有想到的。谢谢但我确实检查了浏览器接收到的标题,这些是我发送的标题。所以,要么是浏览器决定忽略它们,要么是标题不完整,要么就是我尝试的不可能。因为听起来他想让不同用户的样式表有所不同,这实际上是一个不同的问题。然后缓存控件不应该是
公共的
,而是
私有的
(),但是,我已经看过这个页面并尝试过了。不幸的是,浏览器一直在检索php样式表。我试图添加一个“Expires”标题,但没有效果。我在Firefox和Chrome(最新稳定版本)中进行了测试,但在Wordpress中使用动态css样式表时遇到了完全相同的问题,上面的版本修复了这个问题!谢谢:)