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. PHPでssh2_scp_recvを使用してリモートディレクトリを取得できますか?
- 4. 材料設計ライトエラーを使用してパスワード確認を確認
- 5. PHPとssh2、ロードしていない
- 6. PHP - exif_imagetypeエラーを使用してファイルタイプを確認しています
- 7. SFTPを使用してリモートディレクトリ内のファイル数をカウントする
- 8. paramikoを使用してリモートディレクトリからリモートサブディレクトリにファイルをコピーする
- 9. Questasimを使用して確認
- 10. ssh2メーリング機能にphpメールヘッダーを含めます。 SSH2
- 11. PHPを使用したFacebook APIでユーザトークンを確認
- 12. jqueryを使用してデバイスの幅を確認し、結果をPHPに戻す
- 13. phpseclib(SSH2)を使用してファイルをサーバにコピーする方法
- 14. Orion SSH2を使用してバイナリモードでファイルをアップロード
- 15. ウェブサイトでPHPを使用したリンクを確認しています
- 16. http投稿を使用してセッションを確認してリダイレクト
- 17. PHPを使用したhtmlフォームの妥当性確認
- 18. MySQLとPHPを使用したユニークな入力確認
- 19. Devise確認リンクを使用してhttpsを使用する
- 20. PHPを使用してMysql 5.7のユーザーの資格情報を確認
- 21. PHPを使用して確認ページへの直接トラフィックを停止する
- 22. PHPでxlsファイルを使用して状態を確認するには
- 23. PHP/Facebookを使用してiframeからprofileIDまたはpageIDを確認する
- 24. リモートサーバーssh2のphp chownファイル
- 25. MSMQ(C#)を使用したメッセージ配信の確認/確認
- 26. Apache Commons FTPClient、リモートディレクトリが存在するかどうかを確認してアクセス権を取得する(linux-unix)
- 27. ios用SSH2ライブラリ
- 28. wp_queryを使用して最初の投稿を確認してください
- 29. PHP:有効なクラスを '使用する'を確認する
- 30. firefox 5とseleniumサーバー2.2を使用して確認ダイアログをクリック
を使用して、フォルダまたはファイルであるかどうかを確認します。 PHP – powtac
と交換キーを使用するか、動作させるためにあなたのPHPスクリプトにユーザ名/パスワードを提供する必要があります。鍵を交換する場合は、apacheを使用してスクリプトを実行する場合は、apacheユーザで鍵を交換する必要があることを考慮してください。 –
私はssh接続の確立について話していません。接続後にサーバーに存在する特定のディレクトリを確認する必要があります。 – World