深入解析MongoDB GridFS文件存储技术
-
- <?php
- //初始化gridfs
- $conn = new Mongo(); //连接MongoDB
- $db = $conn->photos; //选择数据库
- $grid = $db->getGridFS(); //取得gridfs对象
- ?>
复制代码
gridfs有三种方式存储文件
第一种直接存储文件
$id = $grid->storeFile("./logo.png");
第二种存储文件二进制流
$data = file_get_contents("https://www.teamczyx.com/newpic/202409194606/logo.png"); $id = $grid->storeBytes($data,array("parame"=>'附加参数将随图片一起存入'));
第三种保存直接表单提交的文件$_FILES
-
- <?php
- $id = $grid->storeUpload('upfile');//相当于
- $id = $grid->storeFile($_FILES['upfile']['tmp_name']);
- //--------------以上是保存图片--下面开始读取图片----------------//
- 保存成功后返回$id = md5字符串$logo = $grid->findOne(array('_id'=>$id));
- //以_id为索引取得文件
- header('Content-type: image/png');
- //输出图片头
- echo $logo ->getBytes();
- //输出数据流
- ?>
复制代码
|