public function fopen($path, $mode)
 {
     if ($mode === 'r' or $mode === 'rb') {
         return parent::fopen($path, $mode);
     } else {
         $permissions = $this->file_exists($path) ? Constants::PERMISSION_UPDATE : Constants::PERMISSION_CREATE;
         return $this->checkMask($permissions) ? parent::fopen($path, $mode) : false;
     }
 }