[phpBB Debug] PHP Warning: in file [ROOT]/includes/crs/crs_misc_functions.php on line 37: mime_content_type(): Empty filename or path Zen Cart 源代码 cache.php
<?php
/**
* cache Class.
*
* @package classes
* @copyright Copyright 2003-2009 Zen Cart Development Team
* @copyright Portions Copyright 2003 osCommerce
* @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
* @version $Id: cache.php 14864 2009-11-18 16:22:05Z wilt $
*/
if (!defined('IS_ADMIN_FLAG')) {
die('Illegal Access');
}
/**
* cache Class.
* handles query caching
*
* @package classes
*/
class cache extends base {
function sql_cache_exists($zf_query) {
global $db;
$zp_cache_name = $this->cache_generate_cache_name($zf_query);
switch (SQL_CACHE_METHOD) {
case 'file':
// where using a single directory at the moment. Need to look at splitting into subdirectories
// like adodb
if (file_exists(DIR_FS_SQL_CACHE . '/' . $zp_cache_name . '.sql')) {
return true;
} else {
return false;
}
break;
case 'database':
$sql = "select * from " . TABLE_DB_CACHE . " where cache_entry_name = '" . $zp_cache_name . "'";
$zp_cache_exists = $db->Execute($sql);
if ($zp_cache_exists->RecordCount() > 0) {
return true;
} else {
return false;
}
break;
case 'memory':
return false;
break;
case 'none':
default:
return false;
break;
}
}
function sql_cache_is_expired($zf_query, $zf_cachetime) {
global $db;
$zp_cache_name = $this->cache_generate_cache_name($zf_query);
switch (SQL_CACHE_METHOD) {
case 'file':
if (filemtime(DIR_FS_SQL_CACHE . '/' . $zp_cache_name . '.sql') > (time() - $zf_cachetime)) {
return false;
} else {
return true;
}
break;
case 'database':
$sql = "select * from " . TABLE_DB_CACHE . " where cache_entry_name = '" . $zp_cache_name ."'";
$cache_result = $db->Execute($sql);
if ($cache_result->RecordCount() > 0) {
$start_time = $cache_result->fields['cache_entry_created'];
if (time() - $start_time > $zf_cachetime) return true;
return false;
} else {
return true;
}
break;
case 'memory':
return true;
break;
case 'none':
default:
return true;
break;
}
}
function sql_cache_expire_now($zf_query) {
global $db;
$zp_cache_name = $this->cache_generate_cache_name($zf_query);
switch (SQL_CACHE_METHOD) {
case 'file':
@unlink(DIR_FS_SQL_CACHE . '/' . $zp_cache_name . '.sql');
return true;
break;
case 'database':
$sql = "delete from " . TABLE_DB_CACHE . " where cache_entry_name = '" . $zp_cache_name . "'";
$db->Execute($sql);
return true;
break;
case 'memory':
unset($this->cache_array[$zp_cache_name]);
return true;
break;
case 'none':
default:
return true;
break;
}
}