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] Explorateur FTP


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 109
    Par défaut [FTP] Explorateur FTP
    Bonjour,
    Je voudrais concevoir un bouton qui me permet de parcourir est de manipuler mes dossiers locaux (sur mon disque dur) et distants (en ftp), comment faire?

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Pour le ftp il existe des commandes de connection et etc.... qui se trouvent ici
    Pour le HDD ché pas trop

  3. #3
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 371
    Par défaut
    si tu veux qu'un script sur un serveur aille parcourir un disque dur situé chez un client, c'est pas possible en php.
    Par contre si interprêtes ton script en local, là tu peux tout à fait parcourir ton disque dur avec les commandes de gestion de répertoires, opendir par exemple.

    Et pour ce qui est du ftp, aucun soucis, les fonctions toutes faites existent, cf post précédent

  4. #4
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 109
    Par défaut
    Bonjour,
    j'essayer de me connecter en ftp, mais je n'ai pas reussi, puisque le resultat reste un page blanche.
    Voici le code :
    <?php
    $ftp_server="Mon Adresse";
    $ftp_user_name="mon Login";
    $ftp_user_pass="mon Mot de passe";

    $conn_id = ftp_connect($ftp_server);
    $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

    if ((!$conn_id) || (!$login_result))
    {
    echo "La connexion FTP a échoué !";
    echo "Tentative de connexion au serveur $ftp_server pour l'utilisateur $ftp_user_name";
    exit;
    } else {
    echo "Connexion au serveur $ftp_server, pour l'utilisateur $ftp_user_name";
    }

  5. #5
    lox
    lox est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 42
    Par défaut
    moi j'ai le meme problème

    quand je clique sur le bouton valider il me met une erreur 405!!!

    à mon avis il y a un problème au niveau du htm!!!! il commence meme pas le code que voici !!!!
    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
    35
    36
    37
    38
     
    <html>
    <head>
    <title>Document sans titre</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
     
    <body>
    <div align="left"><h3>s'identifier :</h3>
    </div><br><form method="post" >
    <div align="left"><h3>pseudo : </h3>
    </div
    ><div align="right"><input type="text" name="pseudo">
    </div><br><div align="left">
    <h3>mot de passe : </h3></div
    ><div align="right"><input type="password" name="motdepasse">
    <input type="submit" value="Valider"></div></form> 
     
    <?php
    //déclaration des variables
    $ftp_server = "ftp.xxx.ch";
    $ftp_pseudo=$_POST['pseudo'];
    $ftp_motdepass=$_POST['motdepasse'];
     
    // Mise en place d'une connexion basique
    $conn_id = ftp_ssl_connect($ftp_server);
    echo .$conn_id; 
    // Identification avec un nom d'utilisateur et un mot de passe
    $login_result = ftp_login($conn_id, $ftp_pseudo, $ftp_motdepass);
     
    echo $ftp_motdepass($conn_id); // /
     
    // Fermeture de la connexion SSL
    ftp_close($conn_id);
    ?> 
     
    </body>
    </html>
    la je ne comprend vraiement plus rien

  6. #6
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    voici un code qui fonctionne correctement :
    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
     
    $conn_id = @ftp_connect($ip); 
      if($conn_id)
      {
    	@ftp_set_option($conn_id, FTP_TIMEOUT_SEC, 2);
    	// login with username and password
    	$login_result = ftp_login($conn_id, $username,$pass); 
      }
      if((!$conn_id) || (!$login_result)) 
      { 
    	echo 'Status : Non connecté';
      } 
      else 
      {
    	if ($conn_id)
    	{
    	  echo 'Status : Connecté';
    	}
      }
     
      // close the FTP stream 
      if($conn_id)
    	@ftp_close($conn_id);
    C'est la version allégée d'un code avec lequel j'ai concu mon propre FTP avec retour en arrière lors de changement de dossier et etc...Donc je suis sur que ce code fontionne

  7. #7
    lox
    lox est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 42
    Par défaut
    merci beaucoup

    chez moi il marche mais il me met pas connecté et pourtant j'ai mis mon adresse ftp.xx.ch a la place de ton $ip? est-ce juste

  8. #8
    lox
    lox est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 42
    Par défaut
    Merci j'ai réussi maintenant je suis connecté

    Mais comment je dois faire pour ouvrir l'explorateur de fichier ftp?????

  9. #9
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Là tu dois utiliser les commandes de listages de fichiers comme ftp_nlist ou ftp_rawlist pour avoir la liste des fichiers présents si tu veux la taille tu peux l'avoir aussi par ftp_size et enfin pour changer de dossier c'est ftp_chdir. Ils sont très simple à utiliser...tu trouveras comment les utiliser à partir de http://www.php.net

    Si tu y arrives pas, repasses nous le dire

  10. #10
    lox
    lox est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 42
    Par défaut
    Merci kerod

    mais la ca vient trop compliquer car en faite j'aimerai que les utilisateurs aient puisse prendre des fichiers mais aussi en mettre ... et surtout que ca soit assez visuellement joli :-)))

    bonjour

    est ce que quelqu'un connait un moyen d'ouvrir l'explorateur windows avec un paramètre de connexion ftp.... rentrer sur un page web???

  11. #11
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    C'est également possible de faire des ups et down sur le ftp il suffit d'utiliser les commandes prévues à cet effet....
    Et pour le coté visuel c'est à toi de le faire....

    Mais bon tu préfères te diriger vers un truc compliqué et qui risque de ne pas voir le bout vu qu'à ma connaissance ce n'est vraiment faisable aussi simplement que tu le penses

  12. #12
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Par défaut
    Tu peux créer des liens qui ont cette forme dans le href
    ftp://utilisateur:motdepasse@ip:port/chemin_optionnel/

    Ceci dit il n'y à que sous windows que sa fonctionne correctement, pour le peu que j'ai testé.

  13. #13
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    @Kerod : le dernier test sur $conn_id est-il vraiment nécessaire ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
      if((!$conn_id) || (!$login_result))
      {
       echo 'Status : Non connecté';
      }
      else
      { // Ici, nous avons forcément à la fois $conn_id et $login_result
       if ($conn_id)
       {
         echo 'Status : Connecté';
       }
      }

  14. #14
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Supposons que l'on ait juste un login_result ok et pas de connection tu continuerais donc à faire toutes tes actions sans avoir de connexion.
    Et supposons le cas contraire, tu es connecté et le login est faux...tu reste tout de même connecté et donc tu sais alors d'où vient le problème de connexion

    Pour le moi il est important surtout dans mon code à moi (dans mon php).
    Voilà mais ce qui est bien c'est que l'on peut adapter un code comme on le souhaite donc c'est toi qui voit si ce test est important ou non pour toi

    Et pour info :
    // Ici, nous avons forcément à la fois $conn_id et $login_result
    Ton commentaire est faux. Nous avons pas forcement à la fois $conn_id et $login_result mais plutot soit $conn_id soit $login_result (on peut avoir par exemple !$conn_id et $login_result et le contraire)
    donc plutot ceci comme commentaire serait plus approprié :
    // Ici, nous avons forcément $conn_id ou $login_result
    Pas d'accord ???

  15. #15
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Ah tiens, je m'attendais plus à trouver un couac de copier/coller qu'une erreur de logique.

    Si tu fais une suite de tests avec || (c'est-à-dire or) et qu'au moins l'une des expressions est évaluée à true (c'est-à-dire depuis une seule jusqu'à toutes à la fois), alors tu rentres dans le if, sinon tu rentres dans le else.

    Dans ton cas, si $conn_id est évalué à false, alors on rentre forcément dans le if sans même se préoccuper de $conn_result. Dans le cas contraire ($conn_id évalué à true), alors on évalue $login_result et, s'il est évalué à false on entre dans le if, sinon dans le else.
    En résumé, pour aller dans le if, il faut remplir l'une des conditions suivantes :
    • $conn_id évalué à false (peu importe $login_result)
    • $conn_id évalué à true mais $login_result évalué à false

    Dans tous les autres cas, tu rentres dans le else. En l'occurence, ces autres cas sont au nombre d'un seul et unique : $conn_id et $login_result évaluent tous les deux à true.


    [Edit] L'opérateur || s'appelle opérateur fainéant, si je ne m'abuse, car il valide toute la suite de tests dès que l'un d'eux évalue à true.
    [Edit 2] Ce qui est appelé fainéant est en réalité le if lui-même.
    • || alias or
      Si au moins l'un des tests de la suite est évalué à true, alors l'expression entière est vraie.
      Autrement dit : si tous sont évalués à false, alors l'expression entière est fausse.
      Conséquence : pas besoin d'évaluer le reste des tests si l'un d'eux est évalué à true.
    • && alias and
      Si tous les tests sont évalués à true, alors l'expression entière est vraie.
      Autrement dit : si au moins l'un d'eux est évalué à false, alors l'expression entière est fausse.
      Conséquence : pas besoin d'évaluer le reste des tests si l'un d'eux est évalué à false.

  16. #16
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Ah tiens, je m'attendais plus à trouver un couac de copier/coller qu'une erreur de logique.
    Désolé meme si ....ca arrive de se tromper

    Tu n'as quand même pas conclu sur la véritable utilité du dernier if (ce qui était la source de ta question et non d'étaler un débat sur les opérateurs or et and

  17. #17
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Damn, je suis désolé, je ne voulais pas t'offenser !
    Bien sûr que cela arrive de se tromper, c'était d'ailleurs ma première supposition à ton sujet. Le mot "erreur" n'est pas toujours grave. Faire une faute d'orthographe est une erreur, pourtant tout le monde en fait à longueur de temps et personne n'en est mort (si ça ne tenait qu'à moi, en revanche... bref).

    Par le passé, j'ai déjà essayé de répondre par fragments et il est trop facile de mal se comprendre, c'est pourquoi j'ai opté pour la réponse complète cette fois-ci.

    Non, je n'ai pas changé d'avis, ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       if ($conn_id)
       {
         echo 'Status : Connecté';
       }
    peut parfaitement être remplacé par celui-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       echo 'Status : Connecté';

    Et désolé aussi pour le HS (par rapport au FTP).

  18. #18
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Très bien, je vois merci alors pour l'info et la correction de ce portion de code

Discussions similaires

  1. [FTP] Pb FTP
    Par Taz_8626 dans le forum Langage
    Réponses: 11
    Dernier message: 19/04/2006, 15h49
  2. [FTP] Transfert ftp Terminé
    Par yanis97 dans le forum Entrée/Sortie
    Réponses: 11
    Dernier message: 21/02/2006, 16h18
  3. [FTP] FileZilla FTP Serveur
    Par jak0 dans le forum Serveurs (Apache, IIS,...)
    Réponses: 3
    Dernier message: 25/01/2006, 11h54
  4. [FTP] lien ftp depuis une page web
    Par broken dans le forum Langage
    Réponses: 1
    Dernier message: 24/10/2005, 13h03
  5. [FTP]Transfert Serveur FTP->Serveur FTP
    Par black is beautiful dans le forum Développement
    Réponses: 2
    Dernier message: 28/09/2005, 13h26

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