PHP MongoDB GridFS 存储文件的方法详解
<?php //初始化gridfs $conn = new Mongo(); //连接MongoDB $db = $conn->photos; //选择数据库 $grid = $db->getGridFS(); //取得gridfs对象
gridfs有三种方式存储文件
第一种直接存储文件
$id = $grid->storeFile("./logo.png");
第二种存储文件二进制流
$data = http://www.bkjia.com/PHPjc/get_file_contents("./logo.png");
$id = $grid->storeBytes($data,array("parame"=>'附加参数将随图片一起存入'));
第三种保存直接表单提交的文件$_FILES
$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(); //输出数据流?>
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
MongoDB.NET 2.2.4驱动版本对Mongodb3.3数据库中GridFS增删改查
本文实例为大家分享了针对Mongodb3.3数据库中GridFS增删改查,供大家参考,具体内容如下 Program.cs代码如下: internal class Program { private static void Main(string[] args) { GridFSHelper helper = new GridFSHelper("mongodb://localhost", "GridFSDemo", "Pictures"); #re
-
MongoDB系列教程(八):GridFS存储详解
GridFS简介 mongoDB的文档以BSON格式存储,支持二进制的数据类型,当我们把二进制格式的数据直接保存到mongoDB的文档中.但是当文件太大时,例如图片和视频等文件,每个文档的长度是有限的,于是mongoDb会提供了一种处理大文件的规范--GridFS. GridFS实现原理 在GridFS数据库中,默认使用fs.chunks 和fs.files来存储文件,其中fs.files集合存放文件的信息,fs.chunks存放文件的数据,一个fs.files集合中的一条记录内容如下,即一个f
-
MongoDB学习笔记之GridFS使用介绍
GridFS简介 GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件. GridFS使用 MongoDB提供了一个命令行工具mongofiles可以来处理GridFS, 列出所有文件: 复制代码 代码如下: mongofiles list 上传一个文件: 复制代码 代码如下: mongofiles put xxx.txt 下载一个文件: 复制代码 代码如下: mongofiles get xxx.txt 查找文件: 复制代码 代码如下: //会查找所有文件名中包含"xxx&qu
-
PHP操作MongoDB GridFS 存储文件的详解
复制代码 代码如下: <?php //初始化gridfs $conn = new Mongo(); //连接MongoDB $db = $conn->photos; //选择数据库 $grid = $db->getGridFS(); //取得gridfs对象 //gridfs有三种方式存储文件 //第一种直接存储文件 $id = $grid->storeFile("./logo.png"); //第二种存储文件二进制流 $data = get_file_cont
-
mongodb+php实现简单的增删改查
windows上安装mongodb的php扩展 下载地址https://s3.amazonaws.com/drivers.mongodb.org/php/index.html 找到对应的php版本的dll文件,下载php_mongo.dll,放到php安装目录下的ext目录中,修改php.ini,添加一项extension=php_mongo.dll,没有找到支持php7的dll 获取MongoClient对象,new出来 获取数据库对象db,通过MongoClient对象的数据库属性,$Mon
-
Mongodb批量删除gridfs文件实例
平台有大量的图片已经不用了,数量级达到百万张,差不多100G的空间,放着不管是不是太浪费了? 复制代码 代码如下: db.fs.files.find({filename:/xxx/}).forEach(function(n) {db.fs.files.update({filename:u.filename},{$set:{filename:newname}},false,true)}} //正则批量更改为固定名称,便于删除. mongofiles -port 12345 -d xxx delet
-
PHP简单操作MongoDB的方法(安装及增删改查)
本文实例讲述了PHP简单操作MongoDB的方法.分享给大家供大家参考,具体如下: php操作MongoDB的话首先从网上下载MongoDB的扩展包,https://github.com/mongodb/mongo-php-driver/downloads,选择对应的扩展包. 这是我下的,然后解压,VC6适合apache,VC9适合IIS,ts(thread safe)指PHP以模块形式运行的. 然后把其中的php_mongo.dll放在PHP中的ext文件夹中,然后在PHP.INI里面加入ex
-
MongoDB插入数据的3种方法
insert()方法: 下面是在inventory集合中插入一个三个字段的文档: 复制代码 代码如下: db.inventory.insert( { _id: 10, type: "misc", item: "card", qty: 15 } ) 在实示例中,文档有一个用户指定的值为10的_id字段,这个值必须在inventory集合中唯一.update()方法: 调用update()方法使用upsert标志创建一个新文档当没有匹配查询条件
-
MongoDB错误32-bit servers don't have journaling enabled by default解决方法
每次启动MongoDB时总是会收到如下 Unclean shutdown 提示,总结了一下出现该问题的原因及解决方法. 提示如下: 复制代码 代码如下: ************** D:\GREENT~1\PowerCmd>mongod --auth -dbpath C:\mongo\MongoDB\mongo\data Wed May 16 16:06:50 Wed May 16 16:06:50 warning: 32-bit servers don't have journaling e
-
C# 对MongoDB 进行增删改查的简单操作实例
运用到的MongoDB支持的C#驱动,当前版本为1.6.0 下载地址:https://github.com/mongodb/mongo-csharp-driver/downloads 1,连接数据库 复制代码 代码如下: /// <summary> /// 数据库连接 /// </summary> private const string conn = "mongodb://127.0.0.1:27017";
随机推荐
- 验证一个ASP.NET应用程序和页面的生命周期的实现代码
- 解决Vue页面固定滚动位置的处理办法
- 基于Vue2.0的分页组件
- php中正则替换函数ereg_replace用法实例
- iOS如何获取当前View所在控制器的方法
- 跟老齐学Python之网站的结构
- javascript实现颜色渐变的方法
- Node.js插件的正确编写方式
- ubbcode函数
- Java代码实现Map和Object互转及Map和Json互转
- PHP中通过加号合并数组的一个简单方法分享
- 解决IIS7、IIS7.5 应用程序池回收假死的方法
- 浅谈HTTP使用BASIC认证的原理及实现方法
- Android EditText实现关键词批量搜索示例
- 找出链表倒数第n个节点元素的二个方法
- thinkphp使用phpmailer发送邮件的方法
- 护理宝宝皮肤“土”法大汇集
- Django在win10下的安装并创建工程
- 关于Mac下安装nodejs、npm和cnpm的教程
- Python/ArcPy遍历指定目录中的MDB文件方法