Я бы создал экземпляр объекта файла вручную и использовал бы file_save()
для его фиксации (на примере файла изображения):
global $user;
$file = new stdClass;
$file->uid = $user->uid;
$file->filename = 'image.png';
$file->uri = 'public://path/to/file/image.png';
$file->status = 1;
$file->filemime = 'image/png';
file_save($file);
Затем вы должны вызвать file_usage_add()
, чтобы сообщить Drupal, что ваш модуль лично заинтересован в этом файле (используя nid
из вашего $node
объекта):
file_usage_add($file, 'mymodule', 'node', $node->nid);
Наконец, вы можете добавить файл вузел:
$node->field_file[$node->language][] = array(
'fid' => $file->fid
);
Надеюсь, что поможет