DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Communication / Fonctions FTP
  • Rappel sur le protocole FTP
  • Commandes FTP
  • Exemple : Obtenir un fichier TEST situé dans la bibliothèque AAA d'un AS/400 :
  • Conditions d'utilisation
  • Permissions requises
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
FTPCommande (Fonction)
En anglais : FTPCommand
Envoie une commande FTP spécifique à un serveur.
Attention : Cette fonction n'est pas disponible lors d'une connexion en mode :
  • FTPIS : FTP sécurisé selon le protocole SSL avec chiffrement implicite.
  • FTPES : FTP sécurisé selon le protocole SSL avec chiffrement explicite.
  • SFTP : FTP sécurisé par un tunnel SSH.
PHP Envoie une commande FTP SITE spécifique à un serveur.
WINDEVWEBDEV - Code ServeurEtats et RequêtesAndroidWidget AndroidJavaCode Utilisateur (MCU)Ajax
// Connexion du poste en cours au serveur FTP
NumConnexion = FTPConnecte("192.54.12.8")
// Demande du système du serveur
SI FTPCommande(NumConnexion, "SYST", Réponse) = Vrai ALORS
Info("Information sur le système du serveur : " + RC + Réponse)
SINON
Info("Le serveur n'accepte pas la commande SYST." + ...
"L'information sur le système du serveur n'est pas disponible")
FIN
// Demande de la liste des fichiers du répertoire courant
SI FTPCommande(NumConnexion, "LIST", Réponse, MaListe) = Vrai ALORS
// Voici la liste des fichiers du répertoire en cours sur le serveur
Info("Voici la liste des fichiers du répertoire en cours sur le serveur : " + RC + MaListe)
FIN
WEBDEV - Code ServeurPHP
// Connexion du poste en cours au serveur FTP
NumConnexion = FTPConnecte("192.54.12.8")
// Création d'un groupe GroupeTest
SI FTPCommande(NumConnexion, "ADDGROUP GroupeTest") = Vrai ALORS
Info("Groupe GroupeTest créé")
SINON
Info("Le serveur n'accepte pas la commande ADDGROUP.")
FIN
// Demande de la liste des fichiers du répertoire courant
SI FTPCommande(NumConnexion, "EXEC ls > list.txt") = Vrai ALORS
// La liste des fichiers du répertoire en cours sur le serveur est dans list.txt
Info("La liste des fichiers du répertoire" + ...
  " en cours sur le serveur est dans List.txt")
FIN
Syntaxe
WINDEVWEBDEV - Code ServeurWINDEV MobileEtats et RequêtesAndroidWidget AndroidJavaCode Utilisateur (MCU)Ajax

Envoyer une commande FTP spécifique à un serveur Masquer les détails

<Résultat> = FTPCommande(<Identifiant de la connexion> , <Commande FTP> [, <Réponse du serveur> [, <Résultat de la commande> [, <Mode de transfert> [, <Données à envoyer>]]]])
<Résultat> : Booléen
  • Vrai si la commande a été exécutée,
  • Faux en cas de problème.
<Identifiant de la connexion> : Entier
Identifiant de la connexion, obtenu avec la fonction FTPConnecte.
<Commande FTP> : Chaîne de caractères
Commande FTP envoyée au serveur.
<Réponse du serveur> : Chaîne de caractères optionnelle
Variable de type chaîne de caractères contenant la réponse du serveur pour la commande FTP spécifiée. Ce paramètre permet d'obtenir la réponse du serveur sur le canal de commande (le canal de commandes permet la réception des messages d'erreur ou de succès).
<Résultat de la commande> : Chaîne de caractères ANSI optionnelle
Variable de type chaîne de caractères ANSI contenant les données correspondant au résultat de la commande FTP spécifiée. Ce résultat est envoyé par le serveur sur le canal de données.
Attention : Si ce paramètre est précisé, la fonction FTPCommande est bloquante jusqu'à réception du résultat. En particulier si la commande ne doit pas recevoir de résultat par le canal de données, le client est bloqué indéfiniment. Pour plus de détails sur les commandes FTP, consultez la spécification RFC959.
<Mode de transfert> : Constante optionnelle de type Entier
Mode de transfert réalisé :
ftpModeASCIITransfert réalisé en mode ASCII. Ce mode est utilisé pour un transfert entre deux systèmes d'exploitation différents, par exemple UNIX vers Windows : le fichier transféré est livré dans le format ASCII du système destinataire.
ftpModeBinaire
(Valeur par défaut)
Transfert réalisé en mode binaire : Le fichier est strictement identique entre l'envoi et la réception.
<Données à envoyer> : Chaîne de caractères optionnelle
Données associées à la commande FTP et devant être envoyées au serveur FTP. Ces données sont envoyées par le canal de données.
WEBDEV - Code ServeurPHP

Envoyer une commande FTP SITE à un serveur Masquer les détails

<Résultat> = FTPCommande(<Identifiant de la connexion> , <Commande FTP>)
<Résultat> : Booléen
  • Vrai si la commande a été exécutée,
  • Faux en cas de problème.
<Identifiant de la connexion> : Variant
Identifiant de la connexion, obtenu avec la fonction FTPConnecte.
<Commande FTP> : Chaîne de caractères
Commande FTP envoyée au serveur.
Remarques

Rappel sur le protocole FTP

Ce protocole utilise 2 canaux de communication :
  • Un canal de commandes : permet l'envoi des commandes et la réception des messages d'erreur ou de succès,
  • Un canal de données pour faire transiter les données associées à la commande.

Commandes FTP

Toutes les commandes utilisables sur un serveur FTP sont regroupées dans la spécification RFC959. Ce document est disponible sur Internet (il suffit de réaliser une recherche sur un moteur de recherche Internet en utilisant la référence RFC959).
Quelques exemples classiques : Récupération et envoi de fichiers avec FTPCommande
1. Récupération de fichiers :
Réponse, ResData sont des chaînes
FTPCommande(<Identifiant de la connexion>, ...
"RETR " + <Nom Fichier serveur>, ...
Réponse, ResData, <Mode de transfert>)
// ResData contient le fichier
2. Envoi de fichiers :
Réponse, ResData, DataRésultat sont des chaînes
// ResData contient le fichier à envoyer
FTPCommande(<Identifiant de la connexion>,...
"STOR " + <Nom Fichier serveur>, ...
Réponse, DataRésultat, <Mode de transfert>, ResData)

Exemple : Obtenir un fichier TEST situé dans la bibliothèque AAA d'un AS/400 :

Réponse, ResData sont des chaînes
IDFTP = FTPConnecte("as400", "login", "MDP")
FTPCommande(IDFTP,"RETR " + "AAA/TEST", Réponse, ResData)
// ResData contient le fichier
fSauveTexte("C:\Tmp\test", ResData)
WINDEVWEBDEV - Code ServeurEtats et RequêtesWindowsAndroidWidget AndroidJavaCode Utilisateur (MCU)Ajax

Conditions d'utilisation

La fonction FTPCommande est disponible uniquement si Internet Explorer 5 (ou version supérieure) est installé sur le poste du client FTP.
AndroidWidget Android

Permissions requises

L'utilisation de cette fonction entraîne la modification des permissions requises par l'application.
Permission requise : INTERNET
Cette permission autorise l'application à ouvrir des sockets réseau.
Composante : wd290com.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale