See Release Notes
Long Term Support Release
<?php namespace PhpOffice\PhpSpreadsheet\Shared; class XMLWriter extends \XMLWriter { public static $debugEnabled = false; /** Temporary storage method */ const STORAGE_MEMORY = 1; const STORAGE_DISK = 2; /** * Temporary filename. * * @var string */ private $tempFileName = ''; /** * Create a new XMLWriter instance. *< * @param int $pTemporaryStorage Temporary storage location < * @param string $pTemporaryStorageFolder Temporary storage folder> * @param int $temporaryStorage Temporary storage location > * @param string $temporaryStorageFolder Temporary storage folder*/< public function __construct($pTemporaryStorage = self::STORAGE_MEMORY, $pTemporaryStorageFolder = null)> public function __construct($temporaryStorage = self::STORAGE_MEMORY, $temporaryStorageFolder = null){ // Open temporary storage< if ($pTemporaryStorage == self::STORAGE_MEMORY) {> if ($temporaryStorage == self::STORAGE_MEMORY) {$this->openMemory(); } else { // Create temporary filename< if ($pTemporaryStorageFolder === null) { < $pTemporaryStorageFolder = File::sysGetTempDir();> if ($temporaryStorageFolder === null) { > $temporaryStorageFolder = File::sysGetTempDir();}< $this->tempFileName = @tempnam($pTemporaryStorageFolder, 'xml');> $this->tempFileName = @tempnam($temporaryStorageFolder, 'xml');// Open storage if ($this->openUri($this->tempFileName) === false) { // Fallback to memory... $this->openMemory(); } } // Set default values if (self::$debugEnabled) { $this->setIndent(true); } } /** * Destructor. */ public function __destruct() { // Unlink temporary files> // There is nothing reasonable to do if unlink fails.if ($this->tempFileName != '') {> /** @scrutinizer ignore-unhandled */@unlink($this->tempFileName); } } /** * Get written data. * * @return string */ public function getData() { if ($this->tempFileName == '') { return $this->outputMemory(true); } $this->flush(); return file_get_contents($this->tempFileName); } /** * Wrapper method for writeRaw. *< * @param string|string[] $text> * @param null|string|string[] $rawTextData* * @return bool */< public function writeRawData($text)> public function writeRawData($rawTextData){< if (is_array($text)) { < $text = implode("\n", $text);> if (is_array($rawTextData)) { > $rawTextData = implode("\n", $rawTextData);}< return $this->writeRaw(htmlspecialchars($text));> return $this->writeRaw(htmlspecialchars($rawTextData ?? ''));} }