Цитата |
---|
Дмитрий Краев написал: Написал, посмотрел и понял.
Не хватает /upload/tmp/ в tmp_name. Чтобы уж точно все было хорошо, сделал так:
Код |
---|
"tmp_name" => $_SERVER [ "DOCUMENT_ROOT" ]. '/upload/tmp' . $data [ "FILES" ][ 'tmp_name' ], |
полный массив:
Код |
---|
$arr_file = Array (
"name" => $data [ "FILES" ][ 'name' ],
"size" => $data [ "FILES" ][ 'size' ],
"tmp_name" => $_SERVER [ "DOCUMENT_ROOT" ]. '/upload/tmp' . $data [ "FILES" ][ 'tmp_name' ],
"type" => $data [ "FILES" ][ 'type' ],
"old_file" => "" ,
"del" => "" ,
"MODULE_ID" => "service"
);
|
Спасибо! |
Если в настроках поменяют путь или подключат облачное хранилище, то ваш код не будет работать.
Лучше так:
$arFile = \Bitrix\Main\UI\FileInput::prepareFile($_REQUEST[$name]);
if (isset($arFile['tmp_name']) && !file_exists($arFile['tmp_name'])) {
$tmpFilesDir = \CTempFile::GetAbsoluteRoot();
$arFile['tmp_name'] = $tmpFilesDir . $arFile['tmp_name'];
}
if (!file_exists($_SERVER['DOCUMENT_ROOT'] . '/upload/option_files')) {
mkdir($_SERVER['DOCUMENT_ROOT'] . '/upload/option_files');
}
$saveFileId = CFile::SaveFile($arFile, 'option_files');