cache.file.func.php
1.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
/**
* [WeEngine System] Copyright (c) 2014 WE7.CC
* WeEngine is NOT a free software, it under the license terms, visited http://www.we7.cc/ for more details.
*/
defined('IN_IA') or exit('Access Denied');
load()->func('file');
define('CACHE_FILE_PATH', IA_ROOT . '/data/cache/');
function cache_read($key, $dir = '', $include = true) {
$key = str_replace(':', '@', $key);
$key = CACHE_FILE_PATH . $key;
if (!is_file($key)) {
return array();
}
return $include ? include $key : file_get_contents($key);
}
function cache_write($key, $data, $dir = '') {
global $_W;
if (empty($key) || !isset($data)) {
return false;
}
$key = str_replace(':', '@', $key);
if (!is_string($data)) {
$data = "<?php \r\ndefined('IN_IA') or exit('Access Denied');\r\nreturn " . var_export($data, true) . ';';
}
$key = CACHE_FILE_PATH . $key;
mkdirs(dirname($key));
file_put_contents($key, $data);
@chmod($key, $_W['config']['setting']['filemode']);
return is_file($key);
}
function cache_delete($key, $dir = '') {
$key = str_replace(':', '@', $key);
$key = CACHE_FILE_PATH . $key;
return file_delete($key);
}
function cache_clean($dir = '') {
return rmdirs(CACHE_FILE_PATH, true);
}