background image

PHP 编程:PHP 操作 MongoDB GridFS 存储文件

本文为大家详细介绍 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(); 

//

 

输出数据流

?>