Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Drupal中以编程方式向节点添加多个图像-如果可能的话_Php_Drupal_Drupal 6_Drupal 7 - Fatal编程技术网

Php 如何在Drupal中以编程方式向节点添加多个图像-如果可能的话

Php 如何在Drupal中以编程方式向节点添加多个图像-如果可能的话,php,drupal,drupal-6,drupal-7,Php,Drupal,Drupal 6,Drupal 7,我试图在drupal 7中以编程方式将多个图片附加到节点,但不知道如何附加。我甚至不确定这是否可能。下面是我的代码,用于将一张图片附加到节点,它可以正常工作。如果有人能帮助我如何将多张图片(不止一张)附加到图像字段,请联系我 $node->field_image['und'][0]['fid']=$get_fid->fid 我明白了……首先,你必须更改图像字段设置,使其在1到10之间上传,或者不受限制地上传 foreach($sav_fid as $sn_fid) { $node->f

我试图在drupal 7中以编程方式将多个图片附加到节点,但不知道如何附加。我甚至不确定这是否可能。下面是我的代码,用于将一张图片附加到节点,它可以正常工作。如果有人能帮助我如何将多张图片(不止一张)附加到图像字段,请联系我


$node->field_image['und'][0]['fid']=$get_fid->fid

我明白了……首先,你必须更改图像字段设置,使其在1到10之间上传,或者不受限制地上传

foreach($sav_fid as $sn_fid) {
  $node->field_image['und'][$cnt_dlt]['fid'] = $sn_fid;
  $cnt_dlt++;
}
这就行了 其中field_image是附加到节点api的核心图像字段

['und']只是一个语言代码,我想它的意思是未定义的

[$cnt_dlt]是一个计数器变量,它初始化0而不是增加1,这部分是增量(这个数字将增加imagae)

[fid]是托管文件表中文件的字段图像引用

$sn_fid是托管_文件表中的fid(文件id)


为了使用node_save($node)创建图片并将其附加到节点;您已使用file_copy($files)上传文件;并通过创建一个对象并保存其结果来保存fid。

如果添加文件使用计数器,则会有好处。 不那么简单的方法:

foreach ($sav_fid as $sn_fid) {
  $file = file_load($sn_fid);
  if (isset($file->filename)) {
    file_usage_add($file, 'file', 'node', $node->nid); 
    $node->field_images[LANGUAGE_NONE][] = array(
      'fid' => $file->fid,
      'filename' => $file->filename,
      'filemime' => $file->filemime,
      'uid' => 1,
      'uri' => $file->uri,
      'status' => 1
    );
  }
}
node_save($node);