繁体   English   中英

如何使用PHP在sftp服务器上写入文件?

[英]How can I write a file on an sftp-server with PHP?

我希望这里有人可以帮助我,因为我找不到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);

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM