1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- <?php
- namespace think\template\driver;
- use think\Exception;
- class File
- {
- protected $cacheFile;
-
- public function write($cacheFile, $content)
- {
-
- $dir = dirname($cacheFile);
- if (!is_dir($dir)) {
- mkdir($dir, 0755, true);
- }
-
- if (false === file_put_contents($cacheFile, $content)) {
- throw new Exception('cache write error:' . $cacheFile, 11602);
- }
- }
-
- public function read($cacheFile, $vars = [])
- {
- $this->cacheFile = $cacheFile;
- if (!empty($vars) && is_array($vars)) {
-
- extract($vars, EXTR_OVERWRITE);
- }
-
- include $this->cacheFile;
- }
-
- public function check($cacheFile, $cacheTime)
- {
-
- if (!file_exists($cacheFile)) {
- return false;
- }
- if (0 != $cacheTime && $_SERVER['REQUEST_TIME'] > filemtime($cacheFile) + $cacheTime) {
-
- return false;
- }
- return true;
- }
- }
|