ログインの詳細がphpで有効かどうかを確認するためにsftp経由でリモートサーバーに接続するにはどうすればよいですか...
私はApacheサーバーを使用しています...私の使用法は、ユーザーが入力したログインの詳細が正しいかどうかを確認することです。
Apache サーバーがインストールされていますか? 例: xampp?
その場合は、FTP 機能を使用しています。
<?php
$connection = ssh2_connect('ftp.server.com', 22); //port 22 for Shell connections
ssh2_auth_password($connection, 'username', 'password');
$shell_ftp = ssh2_sftp($connection);
$connectionStream = fopen('ssh2.sftp://'.$shell_ftp.'/path/to/fileorfolder', 'r');
if(!connectionStream)
{
echo "Could not connect to the server, please try agian";
}
else
{
echo "Successfully logged in.";
}
?>
基本的なシェル FTP 接続では、ファイルまたはフォルダーへの絶対パスを定義する必要があります。
純粋な PHP SFTP クライアント である phpseclibを使用すると、より簡単に作業できる場合があります。次に例を示します。
<?php
include('Net/SFTP.php');
$sftp = new Net_SFTP('www.domain.tld');
if (!$sftp->login('username', 'password')) {
exit('Login Failed');
}
echo $sftp->pwd() . "\r\n";
$sftp->put('filename.ext', 'hello, world!');
print_r($sftp->nlist());
?>
libssh2 の問題点は、誰もが推奨しているように、あまり広く展開されていないこと、API の信頼性が最も高くないこと、信頼性が低いこと、サポートが不十分であることなどです。
これは役に立ちますか?
<?php
$connection = ssh2_connect('ftp.server.com', 22);
if (ssh2_auth_password($connection, 'username', 'password'))
echo "Authentication success";
else
echo "Authentication failure";
?>
複数の提案から小さなライブラリを作成しました。励ます