PHP缓存页面的特定部分

PHP缓存页面的特定部分,php,caching,Php,Caching,我想缓存页面上需要大量资源的部分,下面是该页面的一个示例 [=== Some Static HTML ===] [=== PHP Script 1 ===] [=== Some Static HTML ===] [=== PHP Script 2 ===] 我想将“PHP脚本1”放入一个缓存文件,例如script1.html,并将其包括在内,而不是处理整个脚本,脚本2也是如此 我的问题是,我可以很容易地缓存整个页面,它可以工作,但我只想缓存特定的部分(如上所述),因为像用户会话数据这样的东西需

我想缓存页面上需要大量资源的部分,下面是该页面的一个示例

[=== Some Static HTML ===]
[=== PHP Script 1 ===]
[=== Some Static HTML ===]
[=== PHP Script 2 ===]
我想将“PHP脚本1”放入一个缓存文件,例如script1.html,并将其包括在内,而不是处理整个脚本,脚本2也是如此

我的问题是,我可以很容易地缓存整个页面,它可以工作,但我只想缓存特定的部分(如上所述),因为像用户会话数据这样的东西需要是实时的

我有一个类,它可以停止和启动缓冲区,这样我就可以在不破坏页面其余部分的情况下提取特定部分,但是它不能做我想要的。

我希望能够像下面这样做,同时它将使用一个简单的php inlcude将节存储在一个文件中,而不是访问数据库

HTML Content

<?php
$cache->start_buffer("cache_name");
// PHP Script
$cache->end_buffer("cache_name");
?>

HTML Content

<?php
$cache->start_buffer("cache_name");
// PHP Script
$cache->end_buffer("cache_name");
?>
HTML内容
HTML内容
我无法访问memcache或其他类似的东西,因为这将在共享主机上进行

任何帮助都会很好,
谢谢

研究一下如何使用
ob\u start()
ob\u flush()
它完成了您想要做的事情。您需要手动将其写入文件。在野外也有cache.php类


谢谢,我会做更多的研究。我很难理解所有不同的缓冲函数。试试这个教程,它会准确地解释你想要做什么。只有当我试图缓存整个页面时,tut/脚本才会起作用。请重新阅读我的问题。检查我放在那里的代码,我不是说它的语法正确,因为它是匆忙的,但你应该得到的想法。
<?php  

  $cache_time = 3600; // Time in seconds to keep a page cached  
  $cache_folder = '/cache'; // Folder to store cached files (no trailing slash)  

  // Think outside the box the original said to use the URI instead use something else.
  $cache_filename = $cache_folder.md5(",MyUniqueStringForMyCode"); // Location to lookup or store cached file  

  //Check to see if this file has already been cached  
  // If it has get and store the file creation time  
  $cache_created  = (file_exists($cache_file_name)) ? filemtime($this->filename) : 0;

  if ((time() - $cache_created) < $cache_time) {  
    $storedData = readCacheFile($cache_filename);
  }
  else
  {

    // Alternatively you can ignore the ob_start/get_contents/end_flush code 
    // and just call a function and store it directly to the variable.
    // Start saving stuff
    ob_start();  

    /** do your work here echoing data to the screen */

    $storedData = ob_get_contents();
    ob_end_flush();

    // create the cachefile for the data.
    createCacheFile($cache_filename);
  }


  // Do stuff with $storedData.