【发布时间】:2012-08-26 20:58:18
【问题描述】:
我正在使用MongoDB 并使用PHP 将文件存储到GridFS。我通过以下方式提取文件:
$mongo = new Mongo;
$images = $monogo->my_db->getGridFS('images');
$image = $images->findOne('epic-beard-man.png');
$stream = $image->getResource();
这很酷,因为 $stream 是 PHP resource。我需要的是确定流/资源是二进制还是文本。如果是文本,我想输出,否则如果是二进制,我不想输出。
有没有神奇的功能如:is_binary($stream)
编辑
echo get_resource_type($stream);
返回STREAM。哼,用处不大。
【问题讨论】:
-
二进制和所谓的“纯文本”是一回事。只是在纯文本中您实际上可以阅读它,因为那里的字节对人类来说是有意义的,而在“二进制”中则不是。是否意味着它对计算机有任何不同。
-
当然,但是在我的应用程序中,应该输出文本,但是二进制文件应该只是说(这是一个二进制文件...)而不是输出所有的二进制数据,因为它们可能很大。
-
另一个不将文件存储在数据库中的好理由
-
MongoDB 和 GridFS 实际上非常好。喜欢我可以用实际字节存储元数据,并查询元数据。加上副本集,文件被分发。
标签: php mongodb resources gridfs