Документация для разработчиков
Темная тема

IsImage

Описание и параметры

string
CFile::IsImage(
 string file_name,
 mixed mime_type = false
)

Метод проверяет расширение и заданный MIME тип файла. Если расширение и MIME тип файла соответствуют изображению, то возвращает "true", иначе "false". Статический метод.

Параметры

ПараметрОписание
file_name Краткое имя файла (без пути).
mime_type MIME тип файла (например, "image/").
Необязательный. По умолчанию - "false" - проверку на MIME тип не делать.
До версии 4.0.4 назывался content_type.

Смотрите также

Примеры использования

<?
if ($rsFiles = CTicket::GetFileList($v1="s_id", $v2="asc", array("HASH"=>$hash))) :
  if ($arFile = $rsFiles->Fetch()) :
    $filename = $_SERVER["DOCUMENT_ROOT"]."/".COption::GetOptionString("main", "upload_dir", "upload")."/".$arFile["SUBDIR"]."/".$arFile["FILE_NAME"];
    if ($f = fopen($filename, "rb"))
    {
      $is_image = CFile::IsImage($arFile["FILE_NAME"], $arFile["CONTENT_TYPE"]);
      // если изображение то
      if ($is_image) 
      {
        // отдадим как изображение
        header("Content-type: ".$arFile["CONTENT_TYPE"]);
        header("Cache-Control: no-cache, must-revalidate, post-check=0, pre-check=0"); 
        header("Expires: 0"); 
        header("Pragma: public"); 
        while ($buffer = fread($f, 4096)) echo $buffer;
      }
      else // иначе
      {
        // отдадим как текст
        header("Content-type: text/html; charset=".LANG_CHARSET);
        header("Cache-Control: no-cache, must-revalidate, post-check=0, pre-check=0"); 
        header("Expires: 0"); 
        header("Pragma: public"); 
        echo "<pre>";
        while ($buffer = fread($f, 4096)) echo htmlspecialchars($buffer);
        echo "</pre>";
      }
      fclose ($f);
      die();
    }
  endif;
endif;
?>


© «Битрикс», 2001-2023, «1С-Битрикс», 2023