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