加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Drupal – 在file_managed中创建条目

发布时间:2020-12-13 16:01:25 所属栏目:PHP教程 来源:网络整理
导读:我有一个自定义内容类型,包含2个自定义字段:文件(文件)和列表(状态). 我可以通过以下方式设置状态值: $node = node_load($n,$r); $node-field_status[$node-language][0]['value'] = 1; node_save($node); 我想为服务器上的ALREADY文件创建field_file和fil
我有一个自定义内容类型,包含2个自定义字段:文件(文件)和列表(状态).

我可以通过以下方式设置状态值:

$node = node_load($n,$r);
 $node->field_status[$node->language][0]['value'] = 1;
 node_save($node);

我想为服务器上的ALREADY文件创建field_file和file_managed(核心表)的条目.我已经知道文件的MIME类型,大小和路径.

实现这个目标的正确方法是什么?

我会手动实例化文件对象并使用 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知道您的模块在此文件中具有既得利益(使用$node对象中的nid):

file_usage_add($file,'mymodule','node',$node->nid);

最后,您可以将文件添加到节点:

$node->field_file[$node->language][] = array(
  'fid' => $file->fid
);

希望有所帮助

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读