【发布时间】:2015-08-29 14:15:20
【问题描述】:
请问在 GAE 上使用 PHP 的临时文件的普遍接受的智慧/技术解决方案是什么?
我需要使用 PHP 存储和处理图像(大小为几百 K),该图像暂时(例如
我的想法是尝试将临时文件存储在内存中(使用 tempnam() 等),如果失败(例如,该实例上的内存已满),立即尝试使用其他存储来代替运行。问题是什么?图像必须可作为 CURL 访问它的文件(我认为?)并发送到其他地方,所以 Memcache 不是一个选项(不能将数据作为文件访问以传递到 CURL - 或者我可以吗?),但是例如云存储是(通过 'gs://[bucket-name]/...')。问题是,如果我刚刚将文件写入存储,它是否可以立即读取?这也是一笔巨大的成本......
非常感谢任何帮助!
谢谢, 亚历克斯
【问题讨论】:
-
GCS 可能是您最好的选择。鉴于图像相对较小,在大多数情况下您不应该耗尽内存。
-
答案将取决于图像的来源(例如,它是 POST / 上传吗?)。还有你正在做的亲属狗图像处理以及它的去向。你能提供更多细节吗?我以前使用过管道的全内存图像处理,但我不知道您的用例是否允许这样做。更多细节会非常有用。
-
谢谢大家。通过 POST 直接从用户的浏览器接收图像。然后它在服务器上的内存中被操纵。然后需要将其写入光盘片刻,以便可以通过 CURL 函数将其读回以 POST 到另一个站点。如果我可以让 CURL 操作直接从 GD 图像输出中读取,那么我可以完全省去写入文件位,但由于它是我用来执行最终 POST 的第 3 方 SDK,我不确定这是否是可能与否...
-
将云存储用于暂时存在的临时文件的问题是:1) 我会产生什么存储成本(例如文件存储 1 秒然后删除 - 云存储计费计算在内那是 - 1 秒?1 小时?1 天?)和 2.)如果我将文件写入 Cloud Storage,多久后它可以再次读取?
标签: php google-app-engine curl memcached temp