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; } }