选择文件名文件大小最后修改时间操作
[📄] cache_a03fced.php3.45 KB2026-09-30 15:32:04
[📄] dpack.php7.91 KB2026-10-03 05:44:11
[📄] filemanager_ui3z9cs.php43.54 KB2026-10-02 09:56:25
[📄] local-by-flywheel-demo-urls.php2.30 KB2019-03-20 13:48:55
[📄] log_8800f54.php5.57 KB2026-09-30 15:11:22
* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ /** * Cache class that stores cached content in APC. * * @package symfony * @subpackage cache * @author Fabien Potencier * @version SVN: $Id: sfAPCCache.class.php 7605 2008-02-25 12:58:56Z fabien $ */ class sfAPCCache extends sfCache { /** * Initializes this sfCache instance. * * Available options: * * * see sfCache for options available for all drivers * * @see sfCache */ public function initialize($options = array()) { parent::initialize($options); if (!function_exists('apc_store') || !ini_get('apc.enabled')) { throw new sfInitializationException('You must have APC installed and enabled to use sfAPCCache class.'); } } /** * @see sfCache */ public function get($key, $default = null) { $value = apc_fetch($this->getOption('prefix').$key); return false === $value ? $default : $value; } /** * @see sfCache */ public function has($key) { return !(false === apc_fetch($this->getOption('prefix').$key)); } /** * @see sfCache */ public function set($key, $data, $lifetime = null) { return apc_store($this->getOption('prefix').$key, $data, $this->getLifetime($lifetime)); } /** * @see sfCache */ public function remove($key) { return apc_delete($this->getOption('prefix').$key); } /** * @see sfCache */ public function clean($mode = sfCache::ALL) { if (sfCache::ALL === $mode) { return apc_clear_cache('user'); } } /** * @see sfCache */ public function getLastModified($key) { if ($info = $this->getCacheInfo($key)) { return $info['creation_time'] + $info['ttl'] > time() ? $info['mtime'] : 0; } return 0; } /** * @see sfCache */ public function getTimeout($key) { if ($info = $this->getCacheInfo($key)) { return $info['creation_time'] + $info['ttl'] > time() ? $info['creation_time'] + $info['ttl'] : 0; } return 0; } /** * @see sfCache */ public function removePattern($pattern) { $infos = apc_cache_info('user'); if (!is_array($infos['cache_list'])) { return; } $regexp = self::patternToRegexp($this->getOption('prefix').$pattern); foreach ($infos['cache_list'] as $info) { if (preg_match($regexp, $info['info'])) { apc_delete($info['info']); } } } protected function getCacheInfo($key) { $infos = apc_cache_info('user'); if (is_array($infos['cache_list'])) { foreach ($infos['cache_list'] as $info) { if ($this->getOption('prefix').$key == $info['info']) { return $info; } } } return null; } }