Как получить текущее имя каталога с сервера sftp

Я подключаюсь к удаленному серверу sftp, используя функции ssh2. Теперь мне нужно получить текущее имя каталога. В случае с сервером ftp я могу использовать ftp_pwd, но не могу найти аналогичную функцию для ssh2

Мне нужен php код

3 ответа

Дать phpseclib попытка для sftp подключения, вы можете легко получить текущий рабочий каталог с помощью встроенного метода pwd

Из примеров управления каталогами:

print $sftp->pwd();

Ты пробовал только pwd? Введите help для списка доступных команд

На SFTP-сервере Ubuntu 20.04 ssh2_sftp_realpathвозвращает то же, что и при запуске pwdинтерактивно

      <?php
$connection = ssh2_connect('host.example.com', 22);

ssh2_auth_password($connection, 'sftptest', 'password');

$sftp = ssh2_sftp($connection);

$realpath = ssh2_sftp_realpath($sftp, '.');

# $realpath is now: '/home/sftptest'

$realpath = ssh2_sftp_realpath($sftp, './test');

# $realpath =  /home/sftptest/test

$realpath = ssh2_sftp_realpath($sftp, "../test2");

# $realpath = /home/test2

# note that the directories don't have to exist it just resolves to what it should be based on the current directory
?>
Другие вопросы по тегам