IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[FTP] connexion FTP en PHP


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut [FTP] connexion FTP en PHP
    Mon problème peut paraitre simple , mais il ne l est pas.
    Je souhaite juste faire une connexion à un serveur FTP par une page php. (plus tard j y déposerai un fichier mais pour l instant je voudrais juste m y connecter.)

    Je me sers d une page prise sur internet. je vais essayer de faire le post le plus complet pour qu'il n y ait pas mille questions de posées.
    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    $ftp_server = "213.218.xxx.xxx" ;
    $ftp_user_name = "mexxxxxxxxx";
    $ftp_user_pass = "eWxxxxxxflm";
    // Mise en place d'une connexion basique
    $conn_id = ftp_connect($ftp_server);
     
    // Identification avec un nom d'utilisateur et un mot de passe
    $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
     
    // Vérification de la connexion
    if ((!$conn_id) || (!$login_result)) 
    {
    	$err .= "La connexion FTP a échoué ! \n ";
    	$err .= "Tentative de connexion au serveur $ftp_server pour l'utilisateur $ftp_user_name";
     
    } 
    else 
    {
    	echo "Connexion au serveur $ftp_server, pour l'utilisateur $ftp_user_name réussie";
    }
    //ftp_pasv($conn_id, true);
    $upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);
    // Vérification du status du chargement
    if (!$upload) 
    {
    	$err .= "Le chargement FTP a échoué! \n ";
    	$err .= "Tentative de transfert du fichier $destination_file à échouée \n";
    } 
    else 
    {
    echo "Chargement de $source_file vers $ftp_server en tant que $destination_file<br>";
    }
    // Fermeture du flux FTP
    ftp_close($conn_id);
    Jusque là normal. Je mets les identifiants et mdp de mon propre server et tout marche nikel pas de probleme.
    Je mets les identifiants, serveur et mdp de celui du client et là pas moyen de se connecter. Je me dis que le firewall doit bloquer ou que l utilisateur n est pas bon ou autre.

    Je copie/colle ces memes identifiants, mdp, et host dans mon client ftp (FireFTP plugin firefox) et là ca marche. Donc l'utilisateur est bon , ainsi que l host et le mdp.
    Donc je me dis que si c est une histoire de firewall ou de user je n aurais pas pu me connecter avec le client FTP. voici le log du client FTP
    20---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
    220-You are user number 1 of 50 allowed.
    220-Local time is now 18:58. Server port: 21.
    220-This is a private system - No anonymous login
    220-IPv6 connections are also welcome on this server.
    220 You will be disconnected after 15 minutes of inactivity.
    USER messesinfos
    331 User messesinfos OK. Password required
    PASS (password not shown)
    230-User messesinfos has group access to: 33
    230 OK. Current directory is /
    FEAT
    211-Extensions supported:
    EPRT
    IDLE
    MDTM
    SIZE
    REST STREAM
    MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*;
    MLSD
    TVFS
    ESTP
    PASV
    EPSV
    SPSV
    ESTA
    AUTH TLS
    PBSZ
    PROT
    211 End.
    PWD
    257 "/" is your current location
    Voilà je ne sais pas comment resoudre ce probleme si quelqu'un à la moindre idée je suis preneur et merci deja d'avoir lu ce post jusqu au bout.

    Florian
    P.S: si vous avez des questions je suis là et je m efforcerai d y repondre TRES rapidement
    P.S²: y a plus de firewall ou de droit d ecriture c est la connexion qui marche pas, je veux juste me connecter

    P.S3: encore merci

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut ftp
    Le code a l'air correct mais ce serait pas mal de distinguer si c'est ftp_connect() qui renvoie FALSE ou si c'est le ftp_login() qui part en erreur.
    Et aussi il est utile de savoir si l'échec est immédiat ou bien si ça rame un moment avant de sortir le message d'erreur
    - Daniel

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut reponse
    Alors oui cela rame avant de mettre l'erreur. Car lorsque je rentre les identifiants de mon serveur perso distant 1&1 cela ne rame pas du tout et ca marche super bien.
    je ne sais pas comment savoir si c est a la connect ou au login si tu as un moyen de le savoir merci de me le dire

    Florian

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par estofilo Voir le message
    Le code a l'air correct mais ce serait pas mal de distinguer si c'est ftp_connect() qui renvoie FALSE ou si c'est le ftp_login() qui part en erreur.
    Et aussi il est utile de savoir si l'échec est immédiat ou bien si ça rame un moment avant de sortir le message d'erreur
    - Daniel
    C est bien la connexion qui pose probleme et il y a bien un temps de latence avant de declencher l erreur

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    Le temps de latence, c'est typique d'une connexion TCP qui ne passe pas à cause d'un port fermé sur un firewall (en l'occurrence le port 21 pour ftp)
    Le fait que ça se connecte via un prog FTP par ailleurs montre que ce n'est pas le serveur ftp distant qui a ce pb de firewall.
    Peut-être alors que c'est ton serveur, celui qui fait tourner php, qui ne peut pas sortir sur le port 21?
    Pour vérifier tu peux essayer de remplacer le $ftp_server de ton programme par un serveur public, par exemple:
    $ftp_server="ftp.lip6.fr";
    $ftp_user_name="anonymous";
    $ftp_user_pass="monemail@mondomaine";

    et avec ça, vérifier si ça se connecte ou non.
    - Daniel

Discussions similaires

  1. multi connexion ftp avec php
    Par dajij dans le forum Langage
    Réponses: 3
    Dernier message: 19/10/2011, 15h46
  2. [FTP] connexion FTP en PHP via WAMPSERVER
    Par SweetLeaf dans le forum Langage
    Réponses: 7
    Dernier message: 20/01/2009, 16h00
  3. [FTP] Connexion FTP au serveur
    Par FredLam dans le forum Langage
    Réponses: 3
    Dernier message: 28/05/2007, 17h14
  4. [FTP] Connexion FTP par PHP
    Par kanaziwok dans le forum Langage
    Réponses: 4
    Dernier message: 29/07/2006, 15h41
  5. [FTP] Tester connexion à Internet en PHP
    Par nin47 dans le forum Langage
    Réponses: 10
    Dernier message: 22/05/2006, 11h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo