MONGODB GRIDFS存取文件PHP示例

作者:袖梨 2022-06-24


最近项目需要用到MongoDB存取文件,这里有个简单的PHP示例:


public function run(){
 //初始化gridfs
 $m = new MongoClient(); // 连接
 $db = $m->selectDB("excel");
 //dump($m);exit;
 //$collection = $db->testexcel;
 $grid = $db->getGridFS(); //取得gridfs对象
 
 //gridfs有三种方式存储文件
 //第一种直接存储文件
 $id = $grid->storeFile(dirname(__FILE__)."/EmptyAction.class.php");
 echo $id;
 
 //获取文件
 $file = $grid->findOne(array('_id'=>$id)); //以_id为索引取得文件
 //header('Content-type: image/png'); //输出图片头
 dump($file);
}

在MongoDB命令行中查看所有上传的文件:

1.show dbs

列出所有数据库

2.use excel

进入名为excel的数据库

3.db.fs.files.find()

列出所有上传的文件

通过GridFS上传获取文件,它默认是传到fs.files这个collection中。GridFS有两个集合,”fs.chunks”和”fs.files”,前者是分片存储,后者是普通文件存储,适合小于4M的文件。

相关文章

精彩推荐