Domanda

Sono nel corso della creazione di una funzione di caricamento collettivo per un sito Drupal. Usando il flash sono in grado di caricare i file a un URL specifico che dovrebbe essere in grado di gestire i file.

Quello che voglio fare, non è solo quello di caricare i file, ma creare un nodo di un tipo specifico con il file salvato in un file-campo che è stato installato con CCK. Dal momento che si tratta di file audio, è importante che gli handle di file-campo i file, i metadati in modo aggiuntivi possono essere forniti con il modulo getID3.

ho preso uno sguardo al codice / doc, ma non è stato in grado al primo turno per capire come gestire questo. Idealmente, v'è una certa funzione che mi è mancata, in grado di gestire la maggior parte di questo per me.

Se uno ha esperienza con questo vorrei apprezzare alcune indicazioni su come affrontare la questione.

È stato utile?

Soluzione

E 'piuttosto semplice, impostare il tipo di contenuto con i campi richiesti, quindi si desidera utilizzare il codice simile a questo:

$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);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a drupal.stackexchange
scroll top