<?php
/*
* test_file_cache.php
*
* @(#) $Id: test_file_cache.php,v 1.1 2003/11/21 07:54:41 mlemos Exp $
*
*/
require('filecacheclass.php');
?>
<html>
<head>
<title>Test Manuel Lemos File Cache class</title>
</head>
<body>
<center><h1>Test Manuel Lemos File Cache class</h1></center>
<hr />
<?php
/*
* First create an object of the class.
*/
$cache_object=new file_cache_class;
/*
* Then set the variable of the path of the cache file.
* In the end, take a look at the contents of this file.
*/
$cache_object->path='mycachefile.cache';
/*
* If we want to take different action if the cache is being updated,
* we can ask the class to tell if an update is in progress.
*/
$success=$cache_object->updating($updating);
/*
* Check the success value to make sure there was no error.
*/
if($success)
{
if($updating)
{
echo 'Sorry, the cache file is being updated by another process running simultaneously. Please come back later.';
}
else
{
/*
* Now verify if the cache file exists is upto date.
*/
$success=$cache_object->verifycache($updated);
/*
* Check the success value to make sure there was no error.
*/
if($success)
{
/*
* Is the cache file upto date?
*/
if($updated)
{
/*
* Yes. Now, let's read from the cache file and output the stored data.
*/
$endofcache=0;
for(;!$endofcache;)
{
$success=$cache_object->retrievefromcache($data,$endofcache);
if(!($success))
break;
echo $data;
}
}
else
{
/*
* No. The cache file needs to be regenerated from fresh data.
* Let's say that this is all the data I need to store in the cache.
*/
$data="Hello world! :-)\n";
/*
* If necessary, set the cache timeout period in seconds.
*/
$cachetimeout=60;
$cache_object->setexpirytime($cachetimeout);
/*
* Store the cache data, all at once.
*/
$success=$cache_object->storedata($data,1);
/*
* If it was all ok, let's display the data.
*/
if($success)
{
echo $data;
}
}
}
}
}
/*
* Finally, let's just do some error handling.
*/
if(!($success))
{
echo ('Error: '.$cache_object->error."\n");
}
?>
<hr />
<address>Manuel Lemos (<a href="mailto:mlemos@acm.org">mlemos@acm.org</a>)</address>
</body>
</html>
|