1

我将处理客户将用来上传原始图像/长pdf/等的大文件(最大2GB)。我在网上读到 PHP 不是最好的解决方案,但我不能让每个客户端都下载一个 FTP 程序,让我为他们创建一个用户名/目录,并给他们一个密码,只是为了上传一个文件。

我要问的是什么是更好、更快的功能,还是没关系?ftp_get() 或 move_uploaded_file() ?有没有更好的方法可以使用 PHP 完成此任务?

我在想,因为 ftp 是 ftp,所以 ftp_put 会更快、更可行,但我不确定这就是我问这个问题的原因。

感谢您的输入。

4

2 回答 2

1

move_uploaded_file()上传文件后,您将始终必须使用。这是将文件从临时存储移动到您想要存储它的任何位置(通常是应用程序树中的 uploads/ 目录)。

ftp_put()是将该文件再次移出站点到另一个 FTP 服务器。

于 2012-12-18T19:52:15.230 回答
0

这不是同一份工作。

第一种情况,您的用户将文件直接上传到您的服务器,然后您使用move_uploaded_file.

在此处输入图像描述

  • 优点:用户不需要事先在 ftp 服务器上发送文件。
  • 缺点:您与通常连接速度较慢的用户直接相关,这要求您允许非常长的连接,这可能是危险的。

第二种情况,您的用户将文件上传到为此类上传而构建的 FTP 服务器。然后,您将下载一个通常位于具有良好带宽和上传速度的远程服务器上的文件。

在此处输入图像描述

  • 优点:你不需要配置你的网络服务器来处理很长的连接和很大的输入,这对安全性更好。下载通常会更快,因此用户会觉得您的服务没有那么慢。
  • 缺点:您的用户需要将文件发送到 ftp,这对于甚至不知道它是什么的人来说不是很方便。

更好的解决方案应该是根据文件的大小提供这两个选项。

在此处输入图像描述

而且你把你的 FTP 和 web 的服务器放在同一个服务器上,这样你就可以直接在文件系统中访问文件,而不用ftp_get,这应该会更快。

于 2012-12-18T19:56:25.573 回答