Simple Sams's PHP Mirror
<?php

print get_php_net();

define ('CACHEFILE''/tmp/' md5('php.net') . '_sh');
define ('CACHETIME'180); // time to expiry, in secs

function 
get_php_net ()
{
    
$st = @stat (CACHEFILE);
    if (
$st === false) { // fallthrough and download it
    
return download_url ();
    }

    if (
CACHETIME < (time() - $st['mtime'])) {
    return 
get_cached_data ();
    }


    return 
download_url ();
}
    

function 
download_url () 
{
    
$data implode (''file ('http://www.php.net/'));

    
// write the new url
    
$fp fopen (CACHEFILE'w');
    if (!
$fp) {
    die (
'Cannot open cache file for write access');
    }
    
flock ($fpLOCK_EX);
    
fwrite ($fp$data);
    
flock ($fpLOCK_UN);
    
fclose ($fp);

    
// return the website
    
return $data;
}

function
get_cached_data ()
{
    return 
implode (''file (CACHEFILE));
}
?>