Welcome Guest, Not a member yet? Register   Sign In
$this->db->cache_delete('controller', '*');
#1

[eluser]jstrebel[/eluser]
Will the cache_delete function accept a wildcard *, or at least a regular expression of some sort?

I would like to delete all the caches files created from 1 controller, but not every cache from all controllers... as delete_all() would.

IN this case the 2nd uri segment is remapped to one of hundreds of tag names, like /ideas/bar /ideas/foo

Thanks.
#2

[eluser]jstrebel[/eluser]
anyone?
#3

[eluser]Pascal Kriete[/eluser]
It doesn't currently accept anything of the sort, but it shouldn't be too hard to write a helper that does it.

Something along these lines. Untested (so be careful!):
Code:
// Cache files are stored as segment1+segment2, so construct your pattern accordingly
function regex_purge_db_cache($pattern)
{    
    $CI =& get_instance();
    $CI->load->helper('file');
    
    $pattern = $CI->db->cachedir.$pattern;
    
    $paths = glob($pattern, GLOB_ONLYDIR|GLOB_NOSORT|GLOB_MARK);
    
    foreach($paths as $path)
    {
        delete_files($path, TRUE);
    }
}




Theme © iAndrew 2016 - Forum software by © MyBB