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

SaveFile

mixed
CFile::SaveFile(
 array file,
 string save_path,
 bool ForceMD5=false, 
 bool SkipExt=false)
)

Метод сохраняет файл и регистрирует его в таблице файлов (b_file). Статический метод.

Параметры

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

Array(
    "name" => "название файла",
    "size" => "размер",
    "tmp_name" => "временный путь на сервере",
    "type" => "тип загружаемого файла",
    "old_file" => "ID старого файла",
    "del" => "флажок - удалить ли существующий файл - любое непустое значение",
    "MODULE_ID" => "название модуля",
    "description" => "описание файла",
    "content" => "содержимое файла. Можно сохранять файл, указывая его содержимое, а не только массив, полученный при загрузке браузером."
Массив такого вида может быть получен, например, объединением массивов $_FILES[имя поля] и Array("del" => ${"имя поля"."_del"}, "MODULE_ID" = "название модуля");
save_path Путь к папке в которой хранятся файлы (относительно папки /upload).
ForceMD5 Необязательный. По умолчанию false. 7.0.0
SkipExt Необязательный. По умолчанию false. 7.0.0

Возвращаемое значение

Метод возвращает числовой идентификатор сохранённого и зарегистрированного в системе файла.

См. также

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

<?
if (strlen($save)>0 && $REQUEST_METHOD=="POST")
{
    $arIMAGE = $_FILES["IMAGE_ID"];
    $z = $DB->Query("SELECT IMAGE_ID FROM b_vote WHERE ID='$ID'", false, $err_mess.__LINE__);
    $zr = $z->Fetch();
    $arIMAGE["old_file"] = $zr["IMAGE_ID"];
    $arIMAGE["del"] = ${"IMAGE_ID_del"};
    $arIMAGE["MODULE_ID"] = "vote";
    if (strlen($arIMAGE["name"])>0 || strlen($arIMAGE["del"])>0) 
    {
        $fid = CFile::SaveFile($arIMAGE, "vote");
        if (intval($fid)>0) $arFields["IMAGE_ID"] = intval($fid); 
        else $arFields["IMAGE_ID"] = "null";
        $DB->Update("b_vote",$arFields,"WHERE ID='".$ID."'",$err_mess.__LINE__);
    }
}
?>


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

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

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

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

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