Código para asociar una imagen a un nodo en Drupal

drupal.jpg
Solucionex
18
Dic 14

En las últimas semanas estoy trabajando en la migración de un proyecto Drupal de la versión 6 a la 7. He tenido que adaptar datos y para ello realizar scripts de migración.

Os voy a mostrar el código que he utilizado para asociar una imagen a un nodo.

$file_path = ‘carpeta-origen/imagen.jpeg’; $file = new stdClass; $file->uri = $filepath; $file->filemime = file_get_mimetype($filepath); $file->uid = 1; $file->status = 1; $file = file_copy($file, 'public://fotos/'); $nodo->field_image[$node->language][0] = (array) $file;

Si analizamos el código, lo que hago es crear un objeto con el fichero, copiar el fichero en su ubicación de destino y por último asociar el objeto del fichero con el campo imagen.

La magia de todo el proceso la realiza la función file_copy

file_copy(stdClass $source, = NULL, $replace = FILE_EXISTS_RENAME)

Esta función copia un archivo a una nueva ubicación y añade el archivo en la base de datos de Drupal.

 

Espero que os sea util ;)