• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/web/httpheaders.php
  • Класс: BitrixMainWebHttpHeaders
  • Вызов: HttpHeaders::getFilename
public function getFilename()
{
	$contentDisposition = $this->get('Content-Disposition');
	if ($contentDisposition !== null)
	{
		$filename = null;
		$encoding = null;

		$contentElements = explode(';', $contentDisposition);
		foreach ($contentElements as $contentElement)
		{
			$contentElement = trim($contentElement);
			if (preg_match('/^filename*=(.+)'(.+)?'(.+)$/', $contentElement, $matches))
			{
				$filename = $matches[3];
				$encoding = $matches[1];
				break;
			}
			elseif (preg_match('/^filename="(.+)"$/', $contentElement, $matches))
			{
				$filename = $matches[1];
			}
			elseif (preg_match('/^filename=(.+)$/', $contentElement, $matches))
			{
				$filename = $matches[1];
			}
		}

		if ($filename <> '')
		{
			$filename = urldecode($filename);

			if ($encoding <> '')
			{
				$charset = Context::getCurrent()->getCulture()->getCharset();
				$filename = Encoding::convertEncoding($filename, $encoding, $charset);
			}
		}

		return $filename;
	}

	return null;
}