我通过GridFS存储文件并保存id,如下所示:
$file_id = $gridfs->storeUpload('texture');
$item = array(
'name'=>$_POST['name'],
'description'=>$_POST['description'],
'price'=>$_POST['price'],
'categories'=>$category_array,
'tags'=>$tag_array,
'file'=>$file_id
);
$collection->insert($item);
并通过终端和find()“文件”返回:
的ObjectId( “4cbe9afe460890b774110000”)
如果我这样做是为了创建一个JSON提要,所以我可以获取信息,我的应用程序“文件”是空白的…为什么这样?:
foreach($cursor as $item){
$return[$i] = array(
'name'=>$item['name'],
'description'=>$item['description'],
'file'=>$item['file']
);
$i++;
}
echo json_encode($return);
对我来说,奇怪的是我为什么要这样做:
foreach($cursor as $item){
echo $item['file'];
}
并把它拿回来?
[{"name":"Tea Stained Paper 1","description":"Grungy paper texture stained with tea and coffee.","file":{}},{"name":"Worn Metal 1","description":"A grooved, worn old Metal texture","file":{}}]
解决方法:
不确定,但也许
echo json_encode($return, JSON_FORCE_OBJECT);
是你需要做的.
它也可能是,您需要将$item [‘file’]转换为utf8
utf8_encode($item['file']);
在将其分配给$return数组之前.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。