подключиться к серверу через sftp php - PullRequest
4 голосов
/ 07 декабря 2010

как нам подключиться к удаленному серверу через sftp, чтобы проверить правильность регистрационных данных в php ...

Я использую сервер Apache ... я использую для проверки правильности введенных пользователем данных для входа.

Ответы [ 4 ]

3 голосов
/ 07 декабря 2010

Возможно, вам будет проще использовать phpseclib, чистый PHP-клиент SFTP .Вот пример:

<?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 не совсем надежен, ненадежен, плохо поддерживается и т. Д.

2 голосов
/ 07 декабря 2010

это поможет?

<?php
$connection = ssh2_connect('ftp.server.com', 22); 
if (ssh2_auth_password($connection, 'username', 'password')) 
    echo "Authentication success";
else 
    echo "Authentication failure";
?>
2 голосов
/ 07 декабря 2010

У вас установлен сервер 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-соединения Shell вы должны определить абсолютный путь к файлу или папке.

0 голосов
/ 21 июля 2014

Я сформировал небольшую библиотеку из нескольких предложений.Я поощряю

idct клиента sftp на GitHub

...