如何在Drupal 7中生成(仅文本)文件,并自动将其附加到特定节点。
有没有办法用模块执行此操作,或者我应该使用代码以某种方式执行此操作(这看起来很棘手)。
答案 0 :(得分:1)
首先使用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);
答案 1 :(得分:0)
$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;