当前位置:首页 > PHP教程 > php应用 > 列表

PHP实现GRIDFS存储文件到MONGODB的教程

发布:smiling 来源: PHP粉丝网  添加日期:2015-12-10 15:38:20 浏览: 评论:0 

我们知道GridFS是一种将大型文件存储在MongoDB的文件规范了,下文我们就一起来看一篇PHP实现GRIDFS存储文件到MONGODB的教程,具体步骤如下.

一般情况采取第一种方法,直接传文件,第二种方法适合生成的数据不用保存到本地再上传而是直接以二进制存到MongoDB,第三种方式是直接把表单上传的文件存进MongoDB.

  1. //初始化gridfs  
  2. $conn = new Mongo(); //连接MongoDB  
  3. $db = $conn->photos; //选择数据库  
  4. $grid = $db->getGridFS(); //取得gridfs对象  
  5.  
  6. //gridfs有三种方式存储文件  
  7. //第一种直接存储文件  
  8. $id = $grid->storeFile("./logo.png");  
  9.  
  10. //第二种存储文件二进制流  
  11. $data = get_file_contents("./logo.png");  
  12. $id = $grid->storeBytes($data,array("parame"=>’附加参数将随图片一起存入’));  
  13.  
  14. //第三种保存直接表单提交的文件$_FILES  
  15. $id = $grid->storeUpload('upfile');  
  16. //相当于  
  17. $id = $grid->storeFile($_FILES[‘upfile’][‘tmp_name’]);  
  18. //phpfensi.com 
  19. //--------------以上是保存图片--下面开始读取图片----------------  
  20.  
  21. //保存成功后返回$id = md5字符串  
  22. $logo = $grid->findOne(array('_id'=>$id)); //以_id为索引取得文件  
  23. header('Content-type: image/png'); //输出图片头  
  24. echo $logo ->getBytes(); //输出数据流 

这种感觉就是文件流形式保存到数据库了,让小编觉得觉得就是把图片文件保存到数据库一样的道理了.

Tags: GRIDFS MONGODB

分享到: