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

CheckFile

string
CFile::CheckFile(
 array file,
 int max_size = 0,
 string mime_types = false,
 string Ext = false,
 bool ForceMD5=false,
 bool SkipExt=false
)

Метод проверяет размер, расширение и mime тип файла. В случае ошибки метод вернет строку с текстом ошибки. Статический метод.

Параметры

ПараметрОписание С версии
file Массив с данными файла формата:

Array(
    "name" => "название файла",
    "size" => "размер",
    "tmp_name" => "временный путь к файлу на сервере",
    "type" => "тип загружаемого файла",
    "del" => "флаг - удалить ли существующий файл из базы данных (Y|N)",
    "MODULE_ID" => "название модуля")
Массив такого вида может быть получен, например, объединением массивов $_FILES[имя поля] и Array("del" => ${"имя поля"."_del"}, "MODULE_ID" = "название модуля").
max_size Максимальный размер файла (байт).
Необязательный. По умолчанию - "0" - без ограничений.
mime_types Разрешенный mime тип файла (например, "image/"). Проверка осуществляется по данным полученным от посетителя, поэтому для более безопасной проверки используйте extensions.
Необязательный. По умолчанию - "false" - без ограничений.
Ext Перечисленные через запятую разрешенные расширения файла.
Необязательный. По умолчанию - "false" - без ограничений.
Расширения файла следует указывать без точки, например не .pdf, а pdf. Для сверки допустимых расширений и текущего расширения загруженного файла, текущее расширение получают методом CFile::GetFileExtension, который возвращает расширение без точки.
ForceMD5 Необязательный. По умолчанию - "false".12.5.4
SkipExt Необязательный. По умолчанию - "false".12.5.4

См. также

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

<?
$arrFile = array_merge(
    $_FILES["ATTACHED_IMAGE"], 
    array("del" => ${"ATTACHED_IMAGE_del"}, "MODULE_ID" => "forum"));

$res = CFile::CheckFile($arrFile, 200, "image/", CFile::GetImageExtensions());
if (strlen($res)>0) $strError .= $res."<br>";
?>


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2019, «1С-Битрикс», 2019
Наверх