簡體   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