PHP SSH2を使用してリモートSSHサーバにディレクトリ 'xyz'が存在するかどうかを確認するにはどうすればよいですか?PHP SSH2を使用してリモートディレクトリを確認
答えて
あなたは接頭辞SFTPを使用してfile_existsを使用することができます 'ssh2.sftpを://'
をたとえば、あなたができる定評の接続で:
$sftp = ssh2_sftp($connection);
$fileExists = file_exists('ssh2.sftp://' . $sftp . '/home/marco');
仮定は
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$cmd = 'if test -d "/YOUR_DIRECTORY"; then echo 1; fi';
$stream = ssh2_exec($connection, $cmd);
Linuxサーバであります
phpseclib, a pure PHP SSH implementationの代わりにPHP SSH2を放棄することをお勧めします。
とりわけ、PHP SSH2のAPIはうんざりです。秘密鍵は読み込まれるファイルシステムに保存する必要がありますが、phpseclibでは必要なのは文字列だけです。 libssh2が必要とするようにファイルシステムにダンプしなくても、$ _POSTからキーを取ることができます。 libssh2には、秘密鍵に公開鍵であるが含まれているため、公開鍵用の別のファイル(脳死です)が必要です。
libshsh2のssh2_exec()もANSIカラーコードを返し、出力を返さないことがあります。また、ときどき(矛盾します)。
最後に、phpseclibはjust plain fasterです。
'phpseclib'は、私有鍵での認証に関して高速ではありません。まともなキーの強さを使用すると、接続に10秒以上かかることがあります。 '秘密鍵は公開鍵を含んでいる'これは間違っている。これは公開鍵がsshのために必要でないという事実を変えるものではありません。私はssh2の制限付きのキーとしてのファイルパスを嫌いますが、モジュールのセキュリティを損なうことはなく、関数を使って簡単に一時ファイルを作成することができます。 'phpseclib'はスピードやCPU使用量を気にしなければ素晴らしいですが、私は両方を広範囲に使った人として、' ssh2'ははるかに高速でバグフリーです。 –
phpseclibには数か月前に更新があったため、秘密鍵の認証を高速化する必要がありました。詳細については、http://phpseclib.sourceforge.net/math/intro.htmlを参照してください。 – neubert
<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);
$stream = file_exists("ssh2.sftp://$sftp/path/to/file");
?>
リモートパスがここhttp://www.php.net/manual/en/function.ssh2-execマニュアルを確認してくださいPHP_SSH2
$path="/tmp";
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);
$isdir = is_dir("ssh2.sftp://$sftp/$path");
if ($isdir ==true) {
echo "The Remote Folder is a Directory".PHP_EOL;
}
else {
$isfile = file_exists("ssh2.sftp://$sftp/$path");
if ($isfile == true) {
echo "The Remote Path is a File".PHP_EOL;
}
}
- 1. 公開鍵を使用したPHP SSH2認証
- 2. Net :: SSH2を使用してリモートマシンにディレクトリが存在するかどうかを確認する方法
- 3. Orion SSH2を使用してバイナリモードでファイルをアップロード
- 4. ウェブサイトでPHPを使用したリンクを確認しています
- 5. リモートサーバーssh2のphp chownファイル
- 6. ios用SSH2ライブラリ
- 7. Devise確認リンクを使用してhttpsを使用する
- 8. PHPを使用したhtmlフォームの妥当性確認
- 9. MySQLとPHPを使用したユニークな入力確認
- 10. PHP/Facebookを使用してiframeからprofileIDまたはpageIDを確認する
- 11. MSMQ(C#)を使用したメッセージ配信の確認/確認
- 12. Apache Commons FTPClient、リモートディレクトリが存在するかどうかを確認してアクセス権を取得する(linux-unix)
- 13. 利用規約を確認した後、JavaScriptを使用してリンクを確認します
- 14. firefox 5とseleniumサーバー2.2を使用して確認ダイアログをクリック
- 15. X509証明書を使用してSOAPリクエストを確認する
- 16. トラップを使用して終了を確認しました
- 17. jqueryを使用した確認ボックス
- 18. 確認ダイアログJQueryを使用したラジオボタン
- 19. filter_var()を使用して日付を確認しますか?
- 20. Moqを使用してメソッド呼び出しを確認する
- 21. jqueryを使用してチェックボックスの状態を確認します。
- 22. ジキルを使用してファイルの存在を確認します
- 23. AJAXを使用して新しいメッセージを確認する
- 24. atosを使用してdSYMでクラッシュしたメソッド名を確認
- 25. コグニートを使用してユーザーの身元を確認します
- 26. ブラウザがどのフォントを使用していてCSSを使用しているかを確認しますか?
- 27. phpパスワード確認
- 28. PHPを使用してonbeforeunloadがサポートされていることを確認してください。
- 29. Robotiuminを使用して、Androidのネットワーク接続の可用性を確認するテストケースを確認する方法
- 30. tomcatが使用しているヒープサイズを確認したい
を使用して、フォルダまたはファイルであるかどうかを確認します。 PHP – powtac
と交換キーを使用するか、動作させるためにあなたのPHPスクリプトにユーザ名/パスワードを提供する必要があります。鍵を交換する場合は、apacheを使用してスクリプトを実行する場合は、apacheユーザで鍵を交換する必要があることを考慮してください。 –
私はssh接続の確立について話していません。接続後にサーバーに存在する特定のディレクトリを確認する必要があります。 – World