PHP操作MongoDB GridFS 存储文件的详解


Posted in PHP onJune 20, 2013
<?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(); //输出数据流 
?>
PHP 相关文章推荐
php 上一篇,下一篇文章实现代码与原理说明
May 09 PHP
PHP文章采集URL补全函数(FormatUrl)
Aug 02 PHP
php 判断是否是中文/英文/数字示例代码
Sep 30 PHP
PHP实现的博客欢迎提示功能(很特别哦)
Jun 05 PHP
让codeigniter与swfupload整合的最佳解决方案
Jun 12 PHP
10个超级有用值得收藏的PHP代码片段
Jan 22 PHP
php实现无限级分类(递归方法)
Aug 06 PHP
又拍云异步上传实例教程详解
Apr 19 PHP
php+redis实现商城秒杀功能
Nov 19 PHP
PHP回调函数简单用法示例
May 08 PHP
PHP+redis实现的限制抢购防止商品超发功能详解
Sep 19 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
Dec 20 PHP
解析Linux下Varnish缓存的配置优化
Jun 20 #PHP
解析PHP中常见的mongodb查询操作
Jun 20 #PHP
PHP 解决session死锁的方法
Jun 20 #PHP
解析PHP可变函数的经典用法
Jun 20 #PHP
使用PHP求两个文件的相对路径
Jun 20 #PHP
基于PHP服务端图片生成缩略图的方法详解
Jun 20 #PHP
解析thinkphp中的导入文件标签
Jun 20 #PHP
You might like
thinkphp3.2实现上传图片的控制器方法
2016/04/28 PHP
php使用正则表达式去掉html中的注释方法
2016/11/03 PHP
PHP时间处理类操作示例
2018/09/05 PHP
php 的多进程操作实践案例分析
2020/02/28 PHP
QQ登录简单实现代码
2021/03/09 Javascript
完整显示当前日期和时间的JS代码
2007/09/17 Javascript
Notify - 基于jquery的消息通知插件
2011/10/18 Javascript
js使下拉列表框可编辑不止是选择
2013/12/12 Javascript
详解JavaScript ES6中的模板字符串
2015/07/28 Javascript
jQuery实现的导航下拉菜单效果
2016/07/04 Javascript
jQuery实现自动输入email、时间和域名的方法
2016/08/24 Javascript
原生js实现日期计算器功能
2017/02/17 Javascript
Bootstrap 设置datetimepicker在屏幕上面弹出设置方法
2017/03/21 Javascript
原生JS改变透明度实现轮播效果
2017/03/24 Javascript
ES6使用Set数据结构实现数组的交集、并集、差集功能示例
2017/10/31 Javascript
Angular实现点击按钮控制隐藏和显示功能示例
2017/12/29 Javascript
vue项目中使用多选框的实例代码
2020/07/22 Javascript
VUE中setTimeout和setInterval自动销毁案例
2020/09/07 Javascript
[03:22]DOTA2超级联赛专访单车:找到属于自己的英雄
2013/06/08 DOTA
[38:40]2018DOTA2亚洲邀请赛 4.6淘汰赛 mineski vs LGD 第一场
2018/04/10 DOTA
[50:02]完美世界DOTA2联赛PWL S2 Magma vs FTD 第三场 11.29
2020/12/03 DOTA
Python version 2.7 required, which was not found in the registry
2014/08/26 Python
Tornado高并发处理方法实例代码
2018/01/15 Python
利用Django-environ如何区分不同环境
2018/08/26 Python
pyqt5 comboBox获得下标、文本和事件选中函数的方法
2019/06/14 Python
python 批量添加的button 使用同一点击事件的方法
2019/07/17 Python
django 多对多表的创建和插入代码实现
2019/09/09 Python
Pycharm连接远程服务器过程图解
2020/04/30 Python
Python验证码截取识别代码实例
2020/05/16 Python
浅谈对python中if、elif、else的误解
2020/08/20 Python
python 实现单例模式的5种方法
2020/09/23 Python
美国著名的女性内衣零售商:Frederick’s of Hollywood
2018/02/24 全球购物
编程实现去掉XML的重复结点
2014/05/28 面试题
学生个人自我鉴定
2014/03/26 职场文书
房屋维修协议书范本
2014/09/25 职场文书
考研复习计划
2015/01/19 职场文书