【问题标题】:How to upload a huge file (above 50MB) to server如何将大文件(50MB 以上)上传到服务器
【发布时间】:2011-09-16 15:33:30
【问题描述】:

我正在开发一个涉及上传 50MB 以上视频的网站。

将文件上传到服务器的更好(更快)方式:

  1. 通过 ftp 上传视频文件

  1. 通过表单上传文件

谢谢

【问题讨论】:

标签: php forms ftp


【解决方案1】:

最好的方法是使用 FTP。

【讨论】:

  • 你认为哪个最快?
  • 之所以说FTP是因为很多FTP服务器和客户端都支持文件上传恢复。如果由于某种原因您的文件上传失败,FTP 可以从文件上传中断的地方继续。
【解决方案2】:

对于较大的文件,FTP 的速度要快得多。小于 1MB 的文件大小无关紧要。

附:如果您不是上传者,那么想想哪个对您的用户来说更容易。表单更简单,但 ftp 仍然更快。

【讨论】:

  • 不,不是,我敢打赌,如果你试一试,你甚至不会注意到其中的区别。
  • @fijter 小文件是的,但它确实取决于大小。文件越大,您看到的差异就越大。即使是 5 秒,50MB 也足以看出差异。但那是你不会有的 5 秒!
【解决方案3】:

为了用户体验,您应该使用表单文件上传;两者的速度取决于互联网连接速度以及服务器和客户端的负载,并且不会有太大差异。如果您的网络服务器处理大量用户,它可能会有点多,但您可以使用例如 nginx 来减少问题。

编辑: 这里有一个比较:http://daniel.haxx.se/docs/ftp-vs-http.html

【讨论】:

    【解决方案4】:

    我用Jupload

    它拆分文件并通过 http 上传它们。这也很好,因为您不需要关心服务器配置中的文件上传限制。速度主要取决于 HTTP 和 FTP 的客户端连接信息。当然有一些差异,但它们之间并没有那么大。

    【讨论】:

      【解决方案5】:

      为什么不两者都提供? (说真的——大约十年前我写了一个应用程序来做到这一点。)查找“MOVEit DMZ”或研究各种具有 Web 门户集成的 FTP 服务器,看看它是如何完成的。

      Jupload 评论还提到了第三种方式:本地控件(Flash、Java、ActiveX、Firefox 插件等,可优化上传体验)。如果人们将多个大文件上传到您的网站,他们可能会欣赏速度/可靠性的提升。

      【讨论】: