views:

30

answers:

1

Hi i am working with drupal 7 and trying to import data from xml by parsing it using php and later on creating nodes with node_save($node).

So far i have been succeeded to create nodes from xml without any images. I want to attach image to the node while i am importing it.

I know drupal 7 is still in alpha 6 but its good. node_save($node) function is almost same as in drupal 6 but little bit different.

Ok here is my code image file path is stored in a variable...any help would be great..thanks in advance

function main($head, $txt) {
  $nodes = array();
  $nodes[0]['title'] = $head; // node name
  $nodes[0]['body'] = $txt; // body text for the node
  $nodes[0]['teaser'] = '<p>A node</p>';
  $nodes[0]['timestamp'] = 1281765101;
  $nodes[0]['format'] = 2;
  make_nodes($nodes);
}

function make_nodes($nodes) {
  $new_node = $nodes[0];
  $node = new stdClass();
  $node->type = 'article';
  $node->status = 1;
  $node->uid = 1;
  $node->title = $new_node['title'];
  $node->promote = 1;
  $node->created = $new_node['timestamp'];
  $node->timestamp = $new_node['timestamp'];
  $node->changed= $new_node['timestamp'];
  $node->sticky = 0;
  $node->language = 'en';
  $node->body['und'][0]['format'] = 3;
  $node->body['und'][0]['summary'] = $new_node['teaser'];
  $node->body['und'][0]['value'] = $new_node['body'];
  $node->revision = 0;
  node_submit($node);
  node_save($node);
}
+1  A: 

HI. After reading the documentation for 10 hours i finaly did it...i am including my code here

$uri = 'bird/bird_image.jpg'; $files = new stdClass(); $files->uid = (isset($local_user->uid) && !empty($local_user->uid)?$local_user->uid:1); $files->filename = 'bird.jpg'; $files->uri = $uri; $files->filemime = file_get_mimetype($uri); $files->status = 1; $files->timestamp = $new_node['timestamp'];

file_copy($files);

thats how one can upload file and to the drupal 7 database

Zero Cool