2010-12-07 42 views
4

comment pouvons-nous connecter à un serveur distant via SFTP pour vérifier si les informations de connexion sont valables en php ...connecter à un serveur via SFTP php

J'utilise le serveur apache ... mon utilisation est vérifier si les informations de connexion saisies par l'utilisateur sont correctes ou non.

+1

jamais entendu parler de apache et http? –

+0

ya entendu ... j'ai demandé ?? –

+0

vous voulez vous connecter depuis PHP? –

Répondre

3

Vous pourriez avoir plus de facilité à utiliser phpseclib, a pure PHP SFTP client. Voici un exemple:

<?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()); 
?> 

Le problème avec libssh2, comme tout le monde est de recommander, est qu'il est pas très largement déployée, il est l'API est pas exactement le plus fiable, il est peu fiable, mal pris en charge, etc.

2

Avez-vous un serveur apache installé? par exemple: xampp?

Si vous le faites alors vous devez utiliser la fonction 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."; 
} 
?> 

que la connexion FTP Shell de base, vous devez définir à ce fichier, les dossiers de chemin absolu.

+0

C'est mieux que ma réponse. –

+0

comment savez-vous que la connexion est réussie ou pas ... thr ne sera aucune opération de fichiers ... seulement besoin de vérifier le nom d'utilisateur et mot de passe ... –

+0

J'ai modifié le code ci-dessus. – Wesley

2

cela aidera-t-il?

<?php 
$connection = ssh2_connect('ftp.server.com', 22); 
if (ssh2_auth_password($connection, 'username', 'password')) 
    echo "Authentication success"; 
else 
    echo "Authentication failure"; 
?>