/** * 加锁 * @param string 文件名 * @return boolean */ public static function lock($filename) { // 完整文件名 self::$filename = \Core\F::absFile("{$filename}.lock", LOCK); // 打开文件,不存在的时候则尝试创建 self::$fp = fopen(self::$filename, 'w+'); // 文件加锁 return flock(self::$fp, LOCK_EX); }
/** * 分页的url地址 * @param string 分页key * @return string 分页的url前面部分 */ private static function setUrl($key) { // 协议 $build['scheme'] = "http://"; // 主机 $build['host'] = F::server('HTTP_HOST'); // 解析pathinfo和query_string $info = parse_url(F::server('REQUEST_URI')); // path信息 $build['path'] = isset($info['path']) ? $info['path'] : NULL; // query信息 $build['query'] = NULL; if (isset($info['query'])) { parse_str($info['query'], $query); unset($query[$key]); $build['query'] = http_build_query($query); $build['query'] = $build['query'] ? $build['query'] . '&' : $build['query']; } // 完整路径 return "{$build['scheme']}{$build['host']}{$build['path']}?{$build['query']}"; }