4

我希望这里有人可以帮助我,因为我无法通过 Google 找到任何解决方案。我要做的是生成一个 XML 字符串(有效),并将其直接保存到 sftp 服务器上的文件中。

到目前为止,一切都很好......我将以下代码与 ftp 一起使用,它适用于,但不适用于 ftps。所以我要么需要另一个选项配置流,要么需要一种不同的方式来解决该任务。

这是我当前的代码:

$host = 'ftp.example.com';

$port = 22;

$user = 'xxxxxx';

$pass = 'xxxxxx';

$file    = 'test_' . time() . '.txt';

$ftpPath = sprintf('ftp://%s:%s@%s:%d/%s', $user, $pass, $host, $port, $file);

$context = stream_context_create(array('ftp' => array('overwrite' => true)));

file_put_contents($ftpPath, 'test', 0, $context);
4

3 回答 3

1

你需要一个编译了 OpenSSL 支持的 PHP。然后,使用 ftps:// 而不是 ftp://。有关 FTPS 的更多信息

于 2010-06-18T09:02:36.740 回答
1

使用ssh2.sftp://而不是ftp://. 请参阅ssh2_sftp

于 2010-06-18T11:03:35.113 回答
0

更简单的解决方案是将文件保存在临时目录中,然后执行 shell 命令以实际发送文件。

于 2010-06-18T09:02:42.357 回答