File 为什么赢了';此文件字段是否未保存在节点对象上?

File 为什么赢了';此文件字段是否未保存在节点对象上?,file,drupal-6,filefield,File,Drupal 6,Filefield,通过打印,我得到: stdClass Object ( [field_car_image] => Array ( [0] => Array ( [filename] => HERMAN 096.jpg [filepath] => sites/default/files/HERMAN 096.jpg [filemime] =&g

通过打印,我得到:

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对象上进行打印,没有对“field\u car\u image”的引用。有人知道如何正确保存文件字段吗?

文件字段数组中缺少表文件的fid(文件ID);要在drupal中正确上传文件,请确保使用文件保存上传功能

此代码显示如何将文件字段保存到节点中

 $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,
        ),
    );

好的,但是如果您实际上没有进行上传,那么如何使用文件保存上传功能呢?我已经把文件放在正确的位置了。我必须在files表中手动创建一个条目吗?您是否试图以编程方式创建节点对象?因为我的解决方案就是为了这个目的。我的意思是:你有一个自定义表单,ppl可以上传你的文件和其他信息。一旦他们单击save,您就可以使用传递的信息构建一个新的$node对象。如果您正在尝试实现其他目标,请更好地解释上下文:)