Reputation: 39
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?
Upvotes: 0
Views: 238
Reputation: 20899
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:
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.
Upvotes: 1