上传到远程服务器

Posted

技术标签:

【中文标题】上传到远程服务器【英文标题】:Uploading to a Remote Server 【发布时间】:2010-11-23 06:22:24 【问题描述】:

我正在开发一个使用 php/mysql 的网站,用户可以在其中上传视频,然后将这些视频(使用 FFMPEG)转换为 FLV 和 MP4 文件。

现在,整个“上传”和“转换”过程发生在实际由不同提供商托管的不同(远程)服务器上。

我使用不同的托管位置的原因是因为它们提供了更多的存储空间和转换功能。

我的问题是:我如何(或最好的方式)从用户主要互动的主网站将文件上传到我的“视频托管网站”?此外,当视频上传时,信息也会添加到数据库中(视频标题、描述等),那么我该如何将这些信息输入到数据库中呢?从远程位置或主站点?

另外,我怎样才能安全地做到这一点?这意味着,某人不能只是“浏览”视频网站并随机上传文件。

或者,如果有人提出完全不同的建设性建议,我也将不胜感激。

非常感谢!

【问题讨论】:

感谢您的回复,到目前为止。我肯定会使用 FTP 功能,在研究之后。现在,就“转换”新上传的(通过 FTP)文件而言,是否建议设置一个 cron 作业或其他东西来检查上传文件夹中是否有新上传的文件? 如果您通过 FTP 将文件从主网络服务器上传到 PHP 脚本中的视频服务器,您可以在视频服务器上设置 PHP 脚本来进行视频转换。然后,您当然必须确保没有其他人可以触发该脚本。 【参考方案1】:

使用FTP 将文件从一台主机获取到另一台主机。这就是该协议的设计目的。

【讨论】:

【参考方案2】:

我同意雷耶尔的观点。一些安全说明:

让您的客户上传到 server1(网络服务器)并将文件从 server1 推送到 server2(视频服务器)。然后您可以将视频服务器配置为仅接受来自网络服务器的 FTP 连接,但您将传输文件两次。

如果您真的想将文件直接传输到视频服务器,您应该考虑使用 Secure FTP 或 SSH FTP。

【讨论】:

【参考方案3】:

我同意雷耶尔的观点。提供一个界面,您的内容提供商可以在其中添加视频的元数据。在界面中,添加一个他们可以上传媒体文件的字段。提交表单后,验证和清理数据,将其存储在您的数据库中,然后使用 PHP 打开一个 FTP(或 SFTP)连接,并将内容推送到您的外部托管服务提供商。

【讨论】:

以上是关于上传到远程服务器的主要内容,如果未能解决你的问题,请参考以下文章

在这种情况下如何将多张图片上传到远程服务器?循环或重复上传过程?

C# winform如何实现批量上传文件到远程服务器?

ueditor 可以上传远程服务器吗

git 上传文件到远程服务器

SpringBoot上传文件到远程服务器(二十九)

sftp上传到远程服务器