日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

PHP操作MongoDB GridFS 存储文件

發(fā)布時間:2024/7/19 php 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP操作MongoDB GridFS 存储文件 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

  PHP操作MongoDB GridFS 存儲文件,如圖片文件

?我的測試代碼:

1、前端上傳文件html index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Mongo Gridfs</title></head><body><form action="upload.php" method="post" enctype="multipart/form-data"><label for="upfile" >上傳圖片</label><input type="file" id="upfile" name="upfile" /><input type="submit" /> </form></body></html>

2、上傳文件進入MongoDB數(shù)據(jù)庫并返回圖片的索引ID upload.php

<?php //上傳圖片到 header("Content-type:text/html;charset=utf-8"); // 連接Mongo并初始化GFS // 數(shù)據(jù)庫命名 picDB;集合命名pic_userid $conn = new MongoClient(); $db = $conn->picDB; // 取得gridfs對象 $prefix = 'pic'; $collection = $db->getGridFS($prefix);// 上傳圖片 if(isset($_FILES['upfile'])){ $id = $collection->storeUpload('upfile');$id = strval($id);echo "<p>圖片路徑為:<font color=red>http://{$_SERVER['HTTP_HOST']}/image.php?id={$id}</font></p>"; } ?>

3、根據(jù)圖片ID直接從MongoDB里面獲取圖片資源并顯示 image.php

<?php // 根據(jù)ID索引值將圖片資源取出來,即圖片二進制數(shù)據(jù) $conn = new Mongo(); $db = $conn->picDB; // 取得gridfs對象 $prefix = 'pic'; $collection = $db->getGridFS($prefix);$id = $_GET['id'];$object = $collection->findOne(array('_id' => new MongoId($id))); header('Content-type:image/jpg'); echo $object->getBytes();?>

改進:

在upload.php里面萬一根據(jù)ID無法取出數(shù)據(jù)!應該做出提示。

在image.php里面應該添加異常處理,如果取出的數(shù)據(jù)格式不是image而是其他格式!要提前判斷type。

最后,要在MongoDB的使用中添加授權使用,因為mongo默認是非授權使用的,也就是訪問數(shù)據(jù)庫時不需要提供用戶名和密碼。

?

轉載于:https://www.cnblogs.com/wingjay/p/3950125.html

總結

以上是生活随笔為你收集整理的PHP操作MongoDB GridFS 存储文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。