Working with Entity - flashvnn/Drupal-Notes GitHub Wiki
Save file with entity metadata wrapper
$node = entity_create('node', array('type' => 'article'));
$node->uid = $user->uid;
$node->title = "My Title";
$wrapper = entity_metadata_wrapper('node', $node);
$wrapper->field_company_ref->set((int) $company_id);
//store image
if (isset($_FILES['files']['tmp_name']) && file_exists($_FILES['files']['tmp_name'])) {
$file_uri = "public://problem/" . time() . "_" . rand(0, 1000) . ".jpg";
$dirname = drupal_dirname($file_uri);
if (!file_exists($dirname)) {
file_prepare_directory($dirname, FILE_CREATE_DIRECTORY);
}
if (drupal_move_uploaded_file($_FILES['files']['tmp_name'], $file_uri)) {
$file = new stdClass();
$file->uid = $GLOBALS['user']->uid;
$file->status = 1;
$file->filename = trim(drupal_basename($file_uri), '.');
$file->uri = $file_uri;
$file->filemime = file_get_mimetype($file->filename);
if ($file = file_save($file)) {
$wrapper->field_image->file->set($file);
}
}
}
$wrapper->save();