如何优化使用PHP接收POST文件并将其放入S3

时间:2011-02-10 04:08:45

标签: php amazon-s3

我有以下场景:许多图像文件被发布(http POST)到PHP脚本。然后脚本在数据库中进行一些设置(这很快),然后将图像文件保存到S3存储桶。

为了扩大规模,我相信内存中所有图像的加载都限制了我的脚本可以同时接收多少图像。

问题:是这样吗?如果是这样,我怎样才能限制损坏,也许避免将图像加载到内存中? (我不需要对它做任何事情,只需将其发布到S3并在数据库中做一个注释)。

2 个答案:

答案 0 :(得分:0)

This PHP S3 library直接从磁盘加载文件。如果从$ _FILES数组传递文件名,它会直接从磁盘读取文件而不进行缓存。我修改了代码,以便在出现问题时抛出异常。

答案 1 :(得分:0)

您可以使用Browser-Based HTTP POST将用户从您的网页直接上传到S3。

或者,PHP + S3有几个工具包支持从Web服务器的文件系统流式传输到S3,而不会立即将其全部加载到内存中。就个人而言,我使用official SDK来做。