通过网站上传文件到SFTP服务器

Uploading a file via website to SFTP server

我正在建立一个网站。我有服务器的 SFTP 登录凭据。

我正在努力做到这一点,以便用户可以 select 硬盘上的文件,并通过 SFTP 将文件上传到远程计算机。

这可能吗?我该怎么做?

如果您在 Windows,您可以使用 FTP 客户端,例如 WinSCP... If you are in Linux, use te SCP 命令:

scp /home/me/myfile.dat user:password@remoteserver:/remotedir

我假设你使用(或可以使用)PHP。您没有说明您使用的是什么技术。

从阅读开始:

  • POST method uploads - 用于将文件从客户的机器传输到您的网站
  • PHP SFTP Simple File Upload or How do i use phpseclib to upload file from my php server -> someOther server? - 将文件从您的网站传输到 SFTP

结合在一起可以得到如下代码:

include('Net/SFTP.php');

$uploaded_file = $_FILES["attachment"]["tmp_name"];

$sftp = new Net_SFTP("example.com");
if (!$sftp->login('username', 'password'))
{
    die("Connection failed");
}

$sftp->put(
    "/remote/path/".$_FILES["attachment"]["name"], file_get_contents($uploaded_file));

这是一个非常简化的代码,缺少大量验证和错误检查。

代码使用了phpseclib library.