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自定义函数返回多个值
Nov 26 PHP
PHP 强制下载文件代码
Oct 24 PHP
JS 网站性能优化笔记
May 24 PHP
解析PHP函数array_flip()在重复数组元素删除中的作用
Jun 27 PHP
php网页病毒清除类
Dec 08 PHP
PHP MSSQL 分页实例
Apr 13 PHP
thinkPHP分页功能实例详解
May 05 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
Mar 29 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
May 25 PHP
laravel 使用事件系统统计浏览量的实现
Oct 16 PHP
Yii框架 session 数据库存储操作方法示例
Nov 18 PHP
如何重写Laravel异常处理类详解
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
PHP的引用详解
2015/02/22 PHP
Codeigniter中集成smarty和adodb的方法
2016/03/04 PHP
php实现批量删除挂马文件及批量替换页面内容完整实例
2016/07/08 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
2016/08/17 PHP
PHP实现的自定义数组排序函数与排序类示例
2016/11/18 PHP
laravel validate 设置为中文的例子(验证提示为中文)
2019/09/29 PHP
Javascript new关键字的玄机 以及其它
2010/08/25 Javascript
jquery入门—编写一个导航条(可伸缩)
2013/01/07 Javascript
Jquery绑定事件(bind和live的区别介绍)
2013/08/23 Javascript
Javascript Web Slider 焦点图示例源码
2013/10/10 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
js仿黑客帝国字母掉落效果代码分享
2020/11/08 Javascript
js面向对象实现canvas制作彩虹球喷枪效果
2016/09/24 Javascript
JavaScript实现的CRC32函数示例
2016/11/23 Javascript
JavaScript版经典游戏之扫雷游戏完整示例【附demo源码下载】
2016/12/12 Javascript
bootstrap table分页模板和获取表中的ID方法
2017/01/10 Javascript
jquery实现页面加载效果
2017/02/21 Javascript
Vue单文件组件的如何使用方式介绍
2017/07/28 Javascript
nginx+vue.js实现前后端分离的示例代码
2018/02/12 Javascript
vue项目打包之后背景样式丢失的解决方案
2019/01/17 Javascript
Vue+Vant 图片上传加显示的案例
2020/11/03 Javascript
jQuery实现穿梭框效果
2021/01/19 jQuery
[03:24]2014DOTA2国际邀请赛 神秘商店生意火爆
2014/07/18 DOTA
利用Python实现图书超期提醒
2016/08/02 Python
django 发送邮件和缓存的实现代码
2018/07/18 Python
python使用response.read()接收json数据的实例
2018/12/19 Python
Django框架ORM数据库操作实例详解
2019/11/07 Python
pycharm中如何自定义设置通过“ctrl+滚轮”进行放大和缩小实现方法
2020/09/16 Python
CSS3实战第一波 让我们尽情的圆角吧
2010/08/27 HTML / CSS
使用CSS3的::selection改变选中文本颜色的方法
2015/09/29 HTML / CSS
小学生演讲稿大全
2014/04/25 职场文书
公司催款律师函
2015/05/27 职场文书
运动会广播稿300字
2015/08/19 职场文书
幼儿园托班开学寄语(2016秋季)
2015/12/03 职场文书
导游词之秦皇岛燕塞湖
2020/01/03 职场文书
vue3使用vue-router的完整步骤记录
2021/06/20 Vue.js