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_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插入数据的3种方法
insert()方法: 下面是在inventory集合中插入一个三个字段的文档: 复制代码 代码如下: db.inventory.insert( { _id: 10, type: "misc", item: "card", qty: 15 } ) 在实示例中,文档有一个用户指定的值为10的_id字段,这个值必须在inventory集合中唯一.update()方法: 调用update()方法使用upsert标志创建一个新文档当没有匹配查询条件
-
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+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错误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
-
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
-
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";
-
MongoDB学习笔记之GridFS使用介绍
GridFS简介 GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件. GridFS使用 MongoDB提供了一个命令行工具mongofiles可以来处理GridFS, 列出所有文件: 复制代码 代码如下: mongofiles list 上传一个文件: 复制代码 代码如下: mongofiles put xxx.txt 下载一个文件: 复制代码 代码如下: mongofiles get xxx.txt 查找文件: 复制代码 代码如下: //会查找所有文件名中包含"xxx&qu
-
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
-
MongoDB系列教程(八):GridFS存储详解
GridFS简介 mongoDB的文档以BSON格式存储,支持二进制的数据类型,当我们把二进制格式的数据直接保存到mongoDB的文档中.但是当文件太大时,例如图片和视频等文件,每个文档的长度是有限的,于是mongoDb会提供了一种处理大文件的规范--GridFS. GridFS实现原理 在GridFS数据库中,默认使用fs.chunks 和fs.files来存储文件,其中fs.files集合存放文件的信息,fs.chunks存放文件的数据,一个fs.files集合中的一条记录内容如下,即一个f
-
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
随机推荐
- 使用重绘项美化WinForm的控件
- 解决在Web.config或App.config中添加自定义配置的方法详解
- Java文件流关闭和垃圾回收机制
- Java设计模式之桥模式(Bridge模式)介绍
- Android中断线程的处理方法
- CodeIgniter框架数据库事务处理的设计缺陷和解决方案
- Python生成器(Generator)详解
- Android仿淘宝商品浏览界面图片滚动效果
- mysql通过ssl的方式生成秘钥具体生成步骤
- php 获取本地IP代码
- 今天抽时间给大家整理jquery和ajax的相关知识
- 免费的Linux在构建绿色校园网中的应用
- javascript自执行函数之伪命名空间封装法
- Android布局之绝对布局AbsoluteLayout详解
- C#停止线程的方法
- Java源码解析阻塞队列ArrayBlockingQueue介绍
- python selenium 查找隐藏元素 自动播放视频功能
- vue-router beforeEach跳转路由验证用户登录状态
- 详解html-webpack-plugin插件(用法总结)
- 解析Python3中的Import