我需要創建2個函數:一個使用SFTP上傳文件,另一個使用SCP。我正在使用phpseclib和put
方法;我相信我已經完成了SFTP功能。使用phpseclib上傳使用SCP的文件
現在,我正在嘗試執行SCP功能。每http://adomas.eu/phpseclib-for-ssh-and-scp-connections-with-php-for-managing-remote-server-and-data-exchange/,好像下面是我需要做的事情:
In case of SCP:
1. Including the needed file: include('/path/to/needed/file/Net/SFTP.php');
2. Creating object and making connection:
$sftp = new Net_SFTP('host');
if (!$sftp->login('user', 'password')) { exit('Login Failed'); }
3. Reading contents of a file: $contents=$sftp->get('/file/on/remote/host.txt');
4. Copying file over sftp with php from remote to local host: $sftp->get('/file/on/remote/host.txt', '/file/on/local/host.txt');
5. Copying file over sftp with php from local to remote host: $sftp->put('/file/on/remote/host.txt', '/file/on/local/host.txt');
6. Writing contents to remote file: $sftp->get('/file/on/remote/host.txt', 'contents to write');
我需要做的#5,但它看起來像什麼,我沒有爲SFTP。 SFTP和SCP是不一樣的,對吧?相同的代碼是否正確?如果不是,我該如何做SCP?
所以引用的網站是錯誤的。它做了SFTP(就像我一樣),但稱它爲SCP。我使用phpseclib以避免必須配置SSH2功能(phpseclib說這是一個純粹的PHP實現)。對SCP的任何替代解決方案? – snoopy76
對不起,我不明白你的意思是「它做了SFTP(就像我做過的那樣),但稱它爲SCP」。你想避免配置SSH2在哪裏?在客戶端?國際海事組織,你不需要在客戶端配置任何東西,甚至沒有PHP PECL函數(嗯,你需要安裝PECL包,但這與phpseclib類似)。 SCP替代方案:這是您使用SCP/SFTP的要求。如果你想知道其他選擇,請給我們你的約束。 –
哇。它詢問SCP,但發佈的代碼使用SFTP。閱讀CODE的第一行,你會看到「如果是SCP」,下一行就是告訴你如何使用sftp。無論如何,neubert已經更新了你:) 實際上,phpseclib是從PHP執行這些ssh事情的最佳方式,以及當你沒有ssh訪問時的獨特方式。 – erm3nda