- Модуль: 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;
}