code: private function openTransactionFile($id)
      {
          if (!isset($this->tFiles[$id])) {
              self::preparePath($this->dir, self::DATA_DIR);
              $fileName = $this->dir . static::DATA_DIR . $id;
  
              $handle = @fopen($fileName, 'c+');
              if ($handle === false) {
                  throw new \RuntimeException("Could not open file: " . $fileName);
              }
              $this->tFiles[$id] = new \PicoAuth\Storage\File\FileReader(
                  $fileName,
                  ["handle"=>$handle]
              );
          }
      }
docs: Opens the transaction file
  
  This file is opened for read and write operations and it's lock
  will stay active during the transaction calls started and ended with
  {@see RateLimitFileStorage::transaction()}
  
  @param string $id action-type file id
  @throws \RuntimeException On file open error