Основные сохраненные узлы с полем файла

drupal.stackexchange https://drupal.stackexchange.com/questions/216

  •  16-10-2019
  •  | 
  •  

Вопрос

Я в процессе создания объемной функции загрузки для сайта Drupal. Используя Flash, я могу загрузить файлы в определенный URL -адрес, который должен иметь возможность обрабатывать файлы.

Что я хочу сделать, так это не просто загружать файлы, но и создать узел определенного типа с файлом, сохраненным в поле файлов, который был настроен с CCK. Поскольку это аудиофайлы, важно, чтобы файловое поле обрабатывали файлы, поэтому дополнительные метаданные могут быть предоставлены с модулем GetID3.

Я посмотрел на код/документ, но не смог в первом раунде выяснить, как справиться с этим. В идеале, есть некоторые функции, которые я пропустил, которая может справиться с большей частью этого для меня.

Если бы у кого -то есть опыт работы с этим, я бы поступил с некоторыми указателями о том, как подходить к этому вопросу.

Это было полезно?

Решение

Он довольно просто, настройте тип контента с необходимыми полями, затем вы хотите использовать код, аналогичный этому:

$file = new stdClass();
$file->filename = basename($filepath);
$file->filepath = $filepath;
$file->filemime = $mime;
$file->filesize = filesize($filepath);

$file->uid = $uid;
$file->status = FILE_STATUS_PERMANENT;
$file->timestamp = time();
drupal_write_record('files', $file);


$node = new StdClass();
$node->type = 'type';
$node->body = 'body';
$node->title = 'title';
$node->field_file = array(
  array(
    'fid' => $file->fid,
    'title' => basename($file->filename),
    'filename' => $file->filename,
    'filepath' => $file->filepath,
    'filesize' => $file->filesize,
    'mimetype' => $mime,
    'data' => array(
      'description' => basename($file->filename),
    ),
    'list' => 1,
  ),
);
$node->uid = 1;
$node->status = 1;
$node->active = 1;
$node->promote = 1;
node_save($node);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с drupal.stackexchange
scroll top