前一段时间我发布了一个问题,但我询问了FTP,这是一个错误的问题(doh!)。我需要使用SFTP/SSH自动将图像(例如test.jpg)从一台服务器传输到另一台服务器。PHP SFTP/SSH传输
请问有人能解释我该怎么做?我对这种事情是完全陌生的,所以尽可能多的信息将会得到真正的赞赏。
感谢所有帮助
<?php
$local_file = "http://localhost/ftptest/logo.png";
$remote_file = "/logo.png";
exec("scp $local_file username:[email protected]***.**.238.87:$remote_file");
?>
编辑:
中我发现,这个工程结束:
<?php
include('Net/SFTP.php');
$image = 'logo.jpg'; //image to be uploaded - needs to be in the same directory as this script e.g. just logo.jpg
$image_contents = file_get_contents($image); // location of image to be uploaded
$sftp = new Net_SFTP('***.**.**.**'); // server address to connect to
if (!$sftp->login('***', '***')) { // server login details
exit('Login Failed');
}
echo $sftp->pwd();
$sftp->put($image, $image_contents); // upload a file $image with the image contents.
?>
无法获取SSH工作,但希望这将帮助别人在未来:)
嗨symcbean,我看过这个,但我很努力去理解该怎么做。到目前为止,我已经下载了phpseclib文件并将它们放在与我的PHP脚本相同的目录中,然后添加了include('/ Net/SSH2.php');到脚本文件。我也下载了openssl,但我不知道该怎么做,请你解释一下吗?谢谢 –
我做了phpinfo(),它说openssl已经启用。我得到的错误是'调用未定义的函数ssh2_connect()',这是否意味着我已经错误地安装了phpseclib文件? –
这意味着你没有安装ssh2 PECL。 gettnig的使用方法取决于您使用的是哪个版本的PHP,您正在运行哪个操作系统以及从哪里获取PHP。 – symcbean