0

我正在创建一个网站,客户将在该网站上出售他的摄影作品,他出售了很多照片,并且可能会获得相当多的流量。可能每天大约有 2k-5k 个唯一身份。我将 MongoDB 与 PHP 一起使用,我读到我应该使用 GridFS 来存储这些大文件。超过 2MB-5MB 的照片,但显然 BW 将非常昂贵(我在云托管上),并且这些图像的加载将使页面加载永远需要。

那么,如何在 PHP 和 MongoDB 中使用 GridFS 创建缩略图?我用谷歌搜索了它,除了指向的人之外,我似乎找不到任何真实信息:http ://www.php.net/manual/en/class.mongogridfs.php

但我不确定如何处理这些信息。我需要(我希望不是,这会有点乱):

上传 -> 存储原件 -> 使用 GD Lib 调整原件大小 -> 将图像大小调整为 GridFS 作为原始图像的元值?

4

2 回答 2

0

在使用 GD2 将其保存到 MongoDB 之后,我最终只是创建了自己的缩略图,然后将缩略图与完整尺寸一起保存。

于 2010-10-13T19:33:11.777 回答
0

我做的一件事是在 try {} catch

  1. 使用 META 信息(如 user_id、post_id、size = original、height = xxx、width = yyy)存储原始图像(或您的最大尺寸)
  2. 循环遍历所有尺寸并使用与主要尺寸相同的 META 信息进行存储,size = $size,width = xxx,height = yyy,parent_id =您的原始文件的 ID

如果发生一些异常(gd 失败、mongo 失败等),那么您将删除文件,以免浪费存储空间。

于 2010-11-10T16:56:45.930 回答