- Модуль: fileman
- Путь к файлу: ~/bitrix/modules/fileman/classes/general/file_input.php
- Класс: CFileInput
- Вызов: CFileInput::GetFile
static function GetFile($fileId = "")
{
$arFile = CFile::GetFileArray($fileId);
$io = CBXVirtualIo::GetInstance();
//Check if not ID but file path was given
if(!is_array($arFile) && $fileId != "")
{
$strFilePath = $_SERVER["DOCUMENT_ROOT"].$fileId;
if($io->FileExists($strFilePath))
{
$flTmp = $io->GetFile($strFilePath);
$arFile = array(
"PATH" => $fileId,
"FILE_SIZE" => $flTmp->GetFileSize(),
"DESCRIPTION" => "",
);
$arImageSize = CFile::GetImageSize($strFilePath);
if(is_array($arImageSize))
{
$arFile["WIDTH"] = intval($arImageSize[0]);
$arFile["HEIGHT"] = intval($arImageSize[1]);
}
}
elseif(self::$showInfo['IMAGE'] == 'N')
{
$arFile = array(
"PATH" => $fileId,
"FORMATED_SIZE" => '',
"DESCRIPTION" => "",
"IS_IMAGE" => false
);
return $arFile;
}
}
$sImagePath = isset($arFile["PATH"]) ? $arFile["PATH"] : $arFile["SRC"];
if(
$arFile["HANDLER_ID"]
|| (defined("BX_IMG_SERVER") && mb_substr($sImagePath, 0, mb_strlen(BX_IMG_SERVER)) === BX_IMG_SERVER)
|| $io->FileExists($_SERVER["DOCUMENT_ROOT"].$sImagePath)
)
{
$arFile["FORMATED_SIZE"] = CFile::FormatSize($arFile["FILE_SIZE"]);
$arFile["IS_IMAGE"] = $arFile["WIDTH"] > 0 && $arFile["HEIGHT"] > 0 && self::$showInfo['IMAGE'] != 'N';
//Mantis:#65168
if ($arFile["CONTENT_TYPE"] && $arFile["IS_IMAGE"] && mb_strpos($arFile["CONTENT_TYPE"], 'application') !== false)
{
$arFile["IS_IMAGE"] = false;
}
unset($arFile["MODULE_ID"], $arFile["CONTENT_TYPE"], $arFile["SUBDIR"], $arFile["~src"]);
return $arFile;
}
return false;
}