[英]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.