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

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-2019, «1С-Битрикс», 2019
Наверх