繁体   English   中英

PHP缓存(包括CSS)

[英]PHP caching including css

我正在使用以下代码来缓存我的数据:

<?php
$url = $_SERVER["SCRIPT_NAME"];
$break = Explode('/', $url);
$file = $break[count($break) - 1];
$cachefile = 'cached-'.substr_replace($file ,"",-4).'.php';
$cachetime = 3600;

if (file_exists($cachefile) && time() - $cachetime < filemtime($cachefile)) {
  include($cachefile); //include cache file
}else{
  ob_start(); //start output buffering
?>

<?php

....

echo '<div class="profile-font2">', $items, '</div>';

   $fp = fopen($cachefile, 'w'); //open cache file
  fwrite($fp, ob_get_contents()); //create new cache file
  fclose($fp); //close cache file
  ob_end_flush(); //flush output buffered
}
?>

回声输出将存储在文件中。 但是我的风格有问题。 <div class="">table class将被忽略。 所以我只得到裸露的数据。 如何考虑我的风格?

echo '<div class="profile-font2">' -在这里您只是创建一个echo '<div class="profile-font2">'它具有一个class属性,是的-但是由于您不包含任何样式表-这意味着class属性是毫无价值的。

因此,这取决于您要达到的目标:

  • 是否要根据最新样式表呈现(缓存的)内容?
  • 您是否也要缓存样式表?

对于第一个示例,这很容易,因为您只需要在打印缓存的内容之前包括实际的样式表即可,即:

<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
<body>
<?include("cachedContent.extension")?>
</body>

第二个示例更加棘手,因为您需要将所有缓存的样式表与其各自的HTML文件“对齐”。 我不认为这是微不足道的,因此对于这种情况没有答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM