SaveForDB
Описание и параметры
bool CFile::SaveForDB( array &Fields, string field, string SavePath );
Метод предназначен для подготовки данных перед вставкой/обновлением записи в БД, содержащей ссылку на файл. Метод сохраняет файл на диск и возвращает во входном массиве ID сохраненного файла для последующей вставки/обновления записи в БД. Статический метод.
Примечание: до версии 7.1.0 аналогичные действия выполняли методы CDatabase::PrepareInsert и CDatabse::PrepareUpdate. Начиная с версии 7.1.0 действия по сохранению файлов и вставки записи в БД разнесены по разным методам.
Параметры
| Параметр | Описание | 
|---|---|
| arFields | Массив значений полей в формате "имя поля1"=>"значение1", "имя поля2"=>"значение2" [, ...]. 
           Значение передается по ссылке. | 
| field | Название поля в массиве arFields, где содержится файл. | 
| SavePath | Имя папки (будет находится внутри папки upload) для хранения файлов. До версии 12.0.8 параметр назывался dir. | 
Возвращаемое значение
True в случае удачи, false при неудаче. В значении элемента массива $arFields[$field] будет возвращен ID сохраненного файла из таблицы b_file. Если файл был удален, в этом поле будет возвращено false. При неудаче элемент массива $arFields[$field] будет удален (unset).
Смотрите также
Примеры использования
<?
$arFields["ATTACH_IMG"] = $_FILE["ATTACH_IMG"];
$arFields["ATTACH_IMG"]["MODULE_ID"] = "blog";
CFile::SaveForDB($arFields, "ATTACH_IMG", "blog");
$arInsert = $DB->PrepareInsert("b_blog_post", $arFields);
?>