如何在 Drupal 7 中生成(纯文本)文件,并将其自动附加到特定节点。
有没有办法用模块做到这一点,或者我应该使用代码以某种方式做到这一点(这似乎很棘手)。
首先使用drupal file_save_data创建一个文件
$data = 'Your text data'; // Text data to be saved to file.
$filename = 'filename.txt'; // Filename
$file = file_save_data($data,'public://' .$filename);
现在 $file 将包含我们可以附加到节点的文件对象。假设您已经创建了一个文件字段并将其附加到节点类型。让我们称之为“field_custom_file”
然后加载要附加的节点,然后将文件对象转换为数组并将其附加到字段。
$node = node_load($nid); // $nid is the id of the node where you want to attach the file.
$node->field_custom_file[LANGUAGE_NONE][] = (array)$file;
node_save($node);
$file = (object) array(
'uid' => 1,
'uri' => $filepath,
'filemime' => file_get_mimetype($filepath),
'status' => 1,
'display' => 1,
);
$file = file_copy($file, 'public://');
$node->field_file['und'][0] = $file;