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

yipeiwu_com6年前PHP代码库

复制代码 代码如下:

<?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实现C#山寨ArrayList的方法

本文实例讲述了PHP实现C#山寨ArrayList的方法。分享给大家供大家参考。具体如下: class ArrayList { public $length; public $n...

PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结

PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结

本文实例讲述了PHP5.6.8连接SQL Server 2008 R2数据库常用技巧。分享给大家供大家参考,具体如下: 用到的工具: 1.JetBrains PhpStorm (编写p...

php实现微信公众平台账号自定义菜单类

本文实例讲述了php实现微信公众平台账号自定义菜单类的方法。分享给大家供大家参考。具体分析如下: 微信公众平台服务号可申请自定义菜单了,其它的号暂时不支持自定义菜单了,这个不但可以使用a...

php 方便水印和缩略图的图形类

复制代码 代码如下:<?php /* *@author    夜无眠    27262681@qq....

PHP中使用Memache作为进程锁的操作类分享

<?php // 使用Memache 作为进程锁 class lock_processlock{ // key 的前缀 protected $sLoc...