<?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:[email protected]">[email protected]</a>)</address>
 
</body>
 
</html>
 
 
 |