Программно сгенерировал файл и положил его в папку sites/default/files/
Коротко опишу процесс что хочу получить:
При нажатии на кнопку, надо сгенерировать файл, и прикрепить его к определенной ноде, имеющей поле "файл".
Сначала для наглядности я прикрепил файл к ноде через интерфейс и сохранил ее.
После сохранения посмотрел массив поля, чтобы увидеть как в него записан файл
<?php
Array
(
[und] => Array
(
[0] => Array
(
[fid] => 346
[uid] => 1
[filename] => sertifikat-222.pdf
[uri] => public://sertifikat-222_0.pdf
[filemime] => application/pdf
[filesize] => 154558
[status] => 1
[timestamp] => 1558528601
[type] => document
[media_title] => Array
(
)
[
media_description] => Array
(
)
[
field_tags] => Array
(
)
[
field_license] => Array
(
[und] => Array
(
[0] => Array
(
[value] => nothing
)
)
)
[
rdf_mapping] => Array
(
)
[
metadata] => Array
(
)
[
display] => 1
[description] =>
)
)
)
?>
Вопрос: как получить такой же массив со всей необходимой информацией о файле после его генерации, если он уже помещается в нужную диррикторию?
Комментарии
<?php
$file = file_save_data($image, $dirname . '/' . $filename);
$node->field_image['und'][] = array('fid' => $file->fid);
?>
Все остальные ключи создадутся автоматом при сохранении ноды.
Да, использовал эту функцию, но по сути, она берет текущий файл и перезаписывает его. Думал, что есть функция, которая позволяет добавить данные о файле в базу без его пересохранения.
Но вы же сохраняете как-то сгенерированный файл. Сохраняйте его этой функцией.
Отличная практика examples -> file_example/fileapi
А в Друпал 8 как прикрепить?