【问题标题】:PHP & S3: Need architecture guidancePHP & S3:需要架构指导
【发布时间】:2011-11-18 20:17:35
【问题描述】:

我希望为我的 Web 应用程序的最终用户提供在应用程序内的 PHP 页面上拖放文件并让它们自动上传到 S3 进行存储的能力。根据我能够找到的内容,然后我会将“指针”存储到我的数据库中的 S3 文件。谁能指出我的示例/文档或其他可以更好地展示如何在我的应用程序中构建它的内容?我是 S3 的新手,所以如果文件存储有任何问题和/或更好的解决方案(便宜),我会全力以赴。

感谢您的时间和帮助。

【问题讨论】:

    标签: php architecture amazon-s3 storage


    【解决方案1】:

    当用户将文件上传到您的应用时,您的应用会将文件上传到 S3。然后,您的应用程序将该文件的唯一 S3 URL 存储在您的数据库中。如果您不使用 S3,您将执行相同的操作,只是引用将指向本地驱动器上的文件。

    然后,当您想将文件提供给任何人时,您可以:a) 让您的应用从 S3 检索文件,然后将其提供给您的用户,或者 b) 直接将 S3 URL 提供给用户,他们可以下载它来自S3自己。您使用哪个取决于您的具体要求,但选项 (b) 通常更好,因为它让亚马逊完成所有下载工作。 (b) 即使您有不公开的私人文件(例如下载购买)也可以使用,因为您可以授予过期 URL 的临时访问权限。

    在许多情况下,S3 将比仅使用本地存储更昂贵。亚马逊的存储价格与零售硬盘价格相比具有竞争力。但除此之外,您还需要支付 S3 带宽费用,这实际上会变得非常昂贵。如果您选择 S3 是因为它便宜,我认为您选择它的原因是错误的。您应该选择 S3,因为它具有可扩展性、容错性,而且您永远不必考虑增加存储空间。

    【讨论】:

    • 谢谢。如果我为我的用户提供 10gb 的存储空间(ala Dropbox 或 box.net),即使用户没有完全使用该空间,S3 仍然是最可行的解决方案吗?
    • 似乎对 Dropbox 工作正常。 S3 在这方面很好,因为您只需为用户实际使用的空间付费。
    猜你喜欢
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 2011-06-01
    • 2014-10-19
    • 2023-01-15
    • 2014-07-25
    • 2012-05-13
    • 1970-01-01
    相关资源
    最近更新 更多