• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/file.php
  • Класс: CFile
  • Вызов: CFile::validateFile
static function validateFile($strFileName, $arFile)
{
	if($strFileName == '')
		return GetMessage("FILE_BAD_FILENAME");

	$io = CBXVirtualIo::GetInstance();
	if(!$io->ValidateFilenameString($strFileName))
		return GetMessage("MAIN_BAD_FILENAME1");

	if(mb_strlen($strFileName) > 255)
		return GetMessage("MAIN_BAD_FILENAME_LEN");

	//check .htaccess etc.
	if(IsFileUnsafe($strFileName))
		return GetMessage("FILE_BAD_TYPE");

	//nginx returns octet-stream for .jpg
	if(GetFileNameWithoutExtension($strFileName) == '')
		return GetMessage("FILE_BAD_FILENAME");

	if (COption::GetOptionInt("main", "disk_space") > 0)
	{
		$quota = new CDiskQuota();
		if (!$quota->checkDiskQuota($arFile))
			return GetMessage("FILE_BAD_QUOTA");
	}

	return "";
}