我们正在开发一个网站,用户可以在其中更改他们的滑块图像。(全屏滑块)每张图片的大小约为 2000 到 2000 像素,我们允许用户在我们的 HTML 表单中上传任意数量的图片(上限为 10 个)。
他们的上传速度会很慢,我相信我们会轻松通过 PHP 的 max_execution_time,默认为 30 秒。我们还将允许用户在未来上传一些 .rar/.zip 文件,上限为 100MB。
我们没有什么想法,但我想向 SO 寻求更好的解决方案/评论。
- 我们可以将 30 秒更改为更高的值,因为我们可以访问 PHP.ini 并让用户一次上传所有图像,但这可能会长期产生与性能相关的问题。(这不是一个选项!)
- 我们可以在客户端大小中使用 javascript。对于以 HTML 形式指定的每个图像路径,javascript 可能会将其与 XMLHttpRequest 一起发布并期望得到响应。如果响应为真,则 javascript 将移动到下一个图像并尝试上传它。(利润:每个图像都会自己启动 php 并获得自己的 30 秒生命周期。)
- 当文件超过 50MB 时,Javascript 解决方案将无法用于文件上传。客户通常在目标区域将上传速度限制在 25kbps,因此他们无法在 30 秒内上传 50MB。与 #2 类似,我们可以使用一个脚本,其中上传的文件每 30 秒保存一次字节,客户端继续推送剩余的字节,或类似的东西。
基本上,您将如何完成这项任务?我们不想依赖 PHP.ini,所以不应该增加 max_execution_time。
我们应该使用#2 来上传图片吗?你对#3 有什么建议?