dousaoxiancy199896 2018-02-26 21:26
浏览 53
已采纳

PHP缓存包括css

Im using this code for caching my data:

<?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
}
?>

The echo output get stored in the file. But I´ve a problem with my styles. The <div class=""> or table class gets ignored. So I just get the naked data. How is it possible that my styles get considered?

  • 写回答

1条回答 默认 最新

  • dongye9228 2018-02-26 21:37
    关注

    echo '<div class="profile-font2">' - here you are just creating a div - it has a class-attribute, yes - but since you don't include any stylesheet - that means the class-attribute is worthless.

    So, it depends on what you want to achive:

    • do you want to render the (cached) content according to the latest stylesheet?
    • do you want to cache the style-sheet as well?

    For the first example, it would be quite easy, cause you just need to include the actual style-sheet before printing the cached content, i.e.:

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

    The second example would be more tricky, cause you need to "align" all the cached style-sheets with their respective HTML-File. I don't think that's trivial and hence don't have an answer for that case.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵