Hocam file cachede sayfanın tamamını alıyor o nedenle dediğin olmaz.
Ana dosya olacka birtane ondan başka bir dosyayı include edeceksin
include etiğin dosyada file cache uygularsın index dosyasında php işlemleri her seferinde yapılır.
sayfanın tamamını almak zorunda değil. cachelenecek dosya ismini değiştirip istediğin kadar uygulayabilirsin. include etmek ile aynı sayfada kullanmak aynı şey zaten. include edilen sayfa varolan sayfa içindeki bir kodmuş gibi işlem görür.
örnek kod şöyle olmalı
<?
<html><head></head><body>
cache olmayan içerik................
.........................................
//1. cache alanı başlıyor
$filename1 = "%%BIRINCI-CACHE-".md5($_SERVER['REQUEST_URI'])."-%%.html";
$cachefile = "cache/".$filename1;
$cachetime = 3 * 60 * 60; // Cache Süresi
if (file_exists($cachefile))
{
if(time() - $cachetime < filemtime($cachefile))
{
readfile($cachefile);
exit;
}
else
{
unlink($cachefile);
}
}
ob_start();
?>
Cache girecek birinci bölüm...
<?
$fp = fopen($cachefile, 'w+');
fwrite($fp, ob_get_contents());
fclose($fp);
ob_end_flush();
?>
cache dışındaki içerik...............
..................................................
<?
//2. cache alanı başlıyor
$filename2 = "%%IKINCI-CACHE-".md5($_SERVER['REQUEST_URI'])."-%%.html";
$cachefile = "cache/".$filename2;
$cachetime = 3 * 60 * 60; // Cache Süresi
if (file_exists($cachefile))
{
if(time() - $cachetime < filemtime($cachefile))
{
readfile($cachefile);
exit;
}
else
{
unlink($cachefile);
}
}
ob_start();
?>
2. CACHELENEN ALAN
(birinci alandan farklı bir html dosyasında tutulur)
.......................................
.......................................
<?
$fp = fopen($cachefile, 'w+');
fwrite($fp, ob_get_contents());
fclose($fp);
ob_end_flush();
?>
cachesiz olarak devam eden içerik..........
</body></html>
burada cachelenen dosyanın adını değiştirmek önemli olan. yoksa aynı dosyaya üzerine yazılır ikinci cachelenen alan.
veya ikinci bir yo daha var.
cacheleeceğn alanı bu şekilde ayrı bir dosyada cacheli olarak hzırlayacaksın. aa o dosyayı include ile değil file_get_contents() ile çağıracaksın. ama bunun performansının iyi olmayacaını düşünüyorum.