使用print_r我得到:
stdClass Object
(
[field_car_image] => Array
(
[0] => Array
(
[filename] => HERMAN 096.jpg
[filepath] => sites/default/files/HERMAN 096.jpg
[filemime] => image/jpeg
[filesize] => 933105
[status] => 1
)
)
..... // the rest is also on here
它可以完美地保存所有其他数据,而不是图像。后:
node_object_prepare($node);
$node = node_submit($node);
node_save($node);
我在$ node对象上执行了print_r,并且没有对“field_car_image”的引用。有人知道如何正确保存文件字段吗?
答案 0 :(得分:2)
你错过了filefield数组中表文件的fid(文件ID);要在drupal中正确上传文件,请务必使用file_save_upload函数http://api.drupal.org/api/function/file_save_upload/6
此代码显示如何将文件字段保存到节点中。
$node->field_car_image = array(0=>array(
'fid'=>$fid,//get this value from the file object returned by file_save_upload
'uid'=>$uid,//user ID
'filename'=>$filename,
'filepath'=>$filepath,
'filemime'=>$filemime,
'filesize'=>$filesize,
'status'=>$status,
'timestamp'=>$timestamp,
),
);