将文件直接上传到远程服务器

时间:2011-07-27 10:58:21

标签: php file-upload upload

大家好日子。

我有以下情况:

1个服务器,其中包含一些会发布某些数据的表单。部分数据必须转到数据库,也可能有一些文件需要上传。

问题是服务器正在启动2空间不足,因此已经分配了另外一台服务器,它具有作为主要功能来存储上传的文件。我可以使用ssh / ftp / anything访问第二台服务器。

限制是我无法将表单的操作设置为发布2第二个服务器。

所以我要问的是,我是否可以将文件2上传到第二台服务器而不将其保存在第一台服务器上并在之后复制它们(因为空间不足)。像设置上传路径,如“ftp:// secondServerIp / whatever,credentials”。

2 个答案:

答案 0 :(得分:1)

如果您可以在两台服务器之间安装NFS共享,则第二台服务器的文件夹可能会在第一台服务器上显示为本地文件夹。

然后,您只需将该远程文件夹设置为上传目的地。

答案 1 :(得分:1)

POST方法文件上传将存储在服务器的默认临时目录中,除非已为upload_tmp_dir directive in php.ini指定了其他位置。这可能是一个NFS文件链接,或者如果您只是磁盘空间绑定,您可以将其指向RAM drive,这样文件就会存储在内存中。然后,您将其复制到远程服务器并从RAM驱动器中删除该文件。这是否实用取决于您期望的负载。

另一种选择是在主机上添加反向代理(例如nginx),然后透明地代理由存储服务器处理的图像上传,其他所有内容都由常规服务器处理。 / p>

或者您向Apache添加mod_rewrite规则,重定向表单上传。