- Модуль: ui
- Путь к файлу: ~/bitrix/modules/ui/lib/FileUploader/Chunk.php
- Класс: BitrixUIFileUploaderChunk
- Вызов: Chunk::validateFileType
private function validateFileType(array $fileTypes): bool
{
if (count($fileTypes) === 0)
{
return true;
}
$mimeType = $this->getType();
$baseMimeType = preg_replace('//.*$/', '', $mimeType);
foreach ($fileTypes as $type)
{
if (!is_string($type) || mb_strlen($type) === 0)
{
continue;
}
$type = mb_strtolower(trim($type));
if ($type[0] === '.') // extension case
{
$filename = mb_strtolower($this->getName());
$offset = mb_strlen($filename) - mb_strlen($type);
if (mb_strpos($filename, $type, $offset) !== false)
{
return true;
}
}
elseif (preg_match('//*$/', $type)) // image/* mime type case
{
if ($baseMimeType === preg_replace('//.*$/', '', $type))
{
return true;
}
}
elseif ($mimeType === $type)
{
return true;
}
}
return false;
}