/** * 快速文件数据读取和保存 针对简单类型数据 字符串、数组 * @param string $name 缓存名称 * @param mixed $value 缓存值 * @param string $path 缓存路径 * @return mixed */ function F($name, $value = '', $path = DATA_PATH) { static $_cache = array(); $filename = $path . $name . '.php'; if ('' !== $value) { if (is_null($value)) { // 删除缓存 if (false !== strpos($name, '*')) { return false; // TODO } else { unset($_cache[$name]); return Think\Storage::unlink($filename, 'F'); } } else { Think\Storage::put($filename, serialize($value), 'F'); // 缓存数据 $_cache[$name] = $value; return null; } } // 获取缓存数据 if (isset($_cache[$name])) { return $_cache[$name]; } if (Think\Storage::has($filename, 'F')) { $value = unserialize(Think\Storage::read($filename, 'F')); $_cache[$name] = $value; } else { $value = false; } return $value; }
/** * 读写配置文件 * @param string $name 名称 * @param string $value 内容 * @param string $path 路径 */ function config($name, $value = '', $path = 'Admin/Conf/') { $filename = APP_PATH . $path . $name . '.php'; if ('' !== $value) { if (is_null($value)) { Think\Storage::unlink($filename); return true; } else { Think\Storage::put($filename, "<?php\r\nreturn " . array_encode_format($value) . ";"); } } if (Think\Storage::has($filename)) { return require $filename; } else { return false; } }