PHP简单的HTML DOM解析器缓存多个页面

时间:2015-03-07 16:23:45

标签: php dom caching simple-html-dom

我正在使用PHP Simple HTML DOM Parser并使用 $ html-> load_file

include('simple_html_dom.php');
$html = new simple_html_dom();
$html->load_file('https://www.google.com/finance?q=goog');

下面的链接演示了一种强制缓存内容的方法。我需要根据网址的最后部分检索内容发生变化的网页。是否可以修改下面的代码来强制缓存,例如,如果我检索以下页面:

google.com/finance?q=goog

google.com/finance?q=wwwfx

google.com/finance?q=vigrx

我可以将这些页面中的每一个缓存到会话结束,因为我将重复需要页面内容。

Caching PHP Simple HTML DOM Parser

function cache_get_contents($url, $offset = 600, $override = false) {
    $file = '/tmp/file_cache_' . md5($url);
    if (!$override && file_exists($file) && filemtime($file) > time() - $offset)
        return file_get_contents($file);

    $contents = file_get_contents($url);
    if ($contents === false)
        return false;

    file_put_contents($file, $contents);
    return $contents;
}