Example #1
0
 /**
  * 加锁
  * @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);
 }
Example #2
0
 /**
  * 分页的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']}";
 }