• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/page/asset.php
  • Класс: BitrixMainPageAsset
  • Вызов: Asset::write
function write($filePath, $content, $gzip = true)
{
	$fnTmp = $filePath.'.tmp';

	if (!CheckDirPath($filePath) || !$fh = fopen($fnTmp, "wb"))
	{
		return false;
	}

	$written = fwrite($fh, $content);
	$len = strlen($content);
	fclose($fh);

	if (file_exists($filePath))
	{
		@unlink($filePath);
	}

	$result = false;
	if ($written === $len)
	{
		$result = true;
		rename($fnTmp, $filePath);
		@chmod($filePath, BX_FILE_PERMISSIONS);
		if ($gzip && self::gzipEnabled())
		{
			$fnTmpGz = $filePath.'.tmp.gz';
			$fnGz = $filePath.'.gz';

			if ($gz = gzopen($fnTmpGz, 'wb9f'))
			{
				$writtenGz = @gzwrite ($gz, $content);
				gzclose($gz);

				if (file_exists($fnGz))
				{
					@unlink($fnGz);
				}

				if ($writtenGz === $len)
				{
					rename($fnTmpGz, $fnGz);
					@chmod($fnGz, BX_FILE_PERMISSIONS);
				}

				if (file_exists($fnTmpGz))
				{
					@unlink($fnTmpGz);
				}
			}
		}
	}

	if (file_exists($fnTmp))
	{
		@unlink($fnTmp);
	}

	return $result;
}