使用PHP生成的CSS删除加载工件
作者:互联网
我正在使用PHP创建可维护的样式表,如以下文章所述:
http://www.barelyfitz.com/projects/csscolor/
但是,由于PHP需要一点时间来“动态”生成此文件,因此它不会被客户端的浏览器缓存,并且会在不到一秒钟的时间内将所有元素显示为空白/未样式化.有什么方法可以缓存CSS或删除该工件?
网站参考号是http://www.leadwerks.net/.
谢谢!
解决方法:
如果CSS文件是动态生成的,但不会根据请求进行更改,请发送远距离的到期标头,并将最后修改的时间附加到文件中,以便在需要更新缓存时可以中断缓存.
更新资料
所以我想您的PHP文件将在某处….
header('Content-Type: text/css');
…所以加上这个…
header('Expires: '.gmdate('D, d M Y H:i:s', strtotime('+1 year')).' GMT');
然后,在引用CSS文件时,执行此操作…
<?php echo $file = '/styles/custom.php' ;?>
<link rel="stylesheet"
type="text/css"
href="<?php echo $file; ?>?m=<?php echo filemtime($file); ?>"
/>
如果没有此功能,自从他们首次下载CSS以来,用户一年都不会看到对您网站的更改.更新文件时,将更改附加的数字.如果您不实际更改文件(它使用数据库调用),则可以选择最后更新的行或附加版本控制号.
标签:load,browser-cache,css,php 来源: https://codeday.me/bug/20191208/2093536.html