PHP本身并不支持SSH協議的文件傳輸,但是可以通過調用系統命令來實現SSH傳輸文件的操作。這可以通過使用PHP的ssh2
擴展或者exec
函數來實現。
以下是一個示例代碼,演示如何使用PHP通過SSH傳輸文件:
<?php
// 連接SSH服務器
$connection = ssh2_connect('hostname', 22);
ssh2_auth_password($connection, 'username', 'password');
// 從本地上傳文件到遠程服務器
$localFile = 'localfile.txt';
$remoteFile = 'remotefile.txt';
ssh2_scp_send($connection, $localFile, $remoteFile);
// 從遠程服務器下載文件到本地
$localFile2 = 'localfile2.txt';
$remoteFile2 = 'remotefile2.txt';
ssh2_scp_recv($connection, $remoteFile2, $localFile2);
// 關閉SSH連接
ssh2_exec($connection, 'exit');
?>
在上面的示例中,首先連接到SSH服務器,然后通過ssh2_scp_send
函數將本地文件localfile.txt
上傳到遠程服務器的remotefile.txt
,再通過ssh2_scp_recv
函數將遠程服務器的文件remotefile2.txt
下載到本地的localfile2.txt
,最后使用ssh2_exec
函數關閉SSH連接。
需要注意的是,在實際使用中,需要根據具體情況修改服務器的主機名、端口、用戶名、密碼以及文件路徑等參數。另外,還需要確保PHP服務器上安裝了ssh2
擴展。