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); ?>