code: public function close()
  	{
  		// Add archive header
  		$arrArchive['archive_signature']      = self::CENTRAL_DIR_END;
  		$arrArchive['number_of_this_disk']    = "\x00\x00";
  		$arrArchive['number_of_disk_with_cd'] = "\x00\x00";
  		$arrArchive['total_cd_entries_disk']  = pack('v', $this->intCount);
  		$arrArchive['total_cd_entries']       = pack('v', $this->intCount);
  		$arrArchive['size_of_cd']             = pack('V', \strlen($this->strCentralDir));
  		$arrArchive['offset_start_cd']        = pack('V', @ftell($this->resFile));
  		$arrArchive['zipfile_comment_length'] = "\x00\x00";
  		$arrArchive['zipfile_comment']        = '';
  
  		// Add central directory and archive header (do not change this order)
  		fwrite($this->resFile, $this->strCentralDir);
  		fwrite($this->resFile, implode('', $arrArchive));
  
  		// Close the file before renaming it
  		fclose($this->resFile);
  
  		// Check if target file exists
  		if (!file_exists($this->strRootDir . '/' . $this->strFile))
  		{
  			// Handle open_basedir restrictions
  			if (($strFolder = \dirname($this->strFile)) == '.')
  			{
  				$strFolder = '';
  			}
  
  			// Create folder
  			if (!is_dir($this->strRootDir . '/' . $strFolder))
  			{
  				new Folder($strFolder);
  			}
  		}
  
  		// Rename file
  		Files::getInstance()->rename(self::TEMPORARY_FOLDER . '/' . basename($this->strTemp), $this->strFile);
  	}
docs: Write the central directory and close the file handle