

```
public static function getLock($lfile)
{
    $lock = ""/tmp/
    if (!is_dir("$lock/flock"))
    {
        mk_dir("$lock/flock");
    }
    $fileName = "$lock/flock/$lfile";
    self::$lock = fopen($fileName, "w+");
    return flock(self::$lock, LOCK_EX | LOCK_NB);
}
```

## @fopen 和 fopen的区别？

如果打开失败，会产生一个 **`E_WARNING`** 错误。可以通过 [@](https://www.php.net/manual/zh/language.operators.errorcontrol.php) 来屏蔽错误。