DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Le contenu de cette page a été mis à jour en version 2025.  Consultez "Comment utiliser les nouveautés SaaS dans vos projets ?".
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
WindowsLinuxJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac Catalyst
Autres
Procédures stockées
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.
Nouveauté SaaS
Une nouvelle syntaxe manipulant une variable de type ftpConnexion est disponible à partir de WINDEV Suite SaaS 2025 Update 2.
Pour plus de détails, consultez Utiliser les nouveautés de WINDEV Suite SaaS 2025.
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
PHP
// 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
Nouveauté SaaS
WINDEVWEBDEV - Code ServeurEtats et RequêtesAndroidWidget AndroidJavaCode Utilisateur (MCU)Ajax
// Syntaxe non disponible en PHP
// Connexion du poste en cours au serveur FTP
MaConnexionFTP est une ftpConnexion
MaConnexionFTP.Serveur = "192.54.12.8"
FTPConnecte(MaConnexionFTP)

SI FTPCommande(MaConnexionFTP, "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(MaConnexionFTP, "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
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(<Connexion FTP> , <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.
<Connexion FTP> : Entier ou variable de type ftpConnexion
  • Identifiant de la connexion, obtenu avec la fonction FTPConnecte.
    PHP Ce paramètre est de type Variant.
  • Nouveauté SaaS
    Nom de la variable de type ftpConnexion correspondant à la connexion FTP utilisée.
    Attention : Cette fonctionnalité est disponible uniquement à partir de WINDEV Suite SaaS 2025 Update 2.
    Pour plus de détails, consultez Utiliser les nouveautés de WINDEV Suite SaaS 2025.
    PHP Non disponible.
<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.
PHP

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.
Classification Métier / UI : Code métier
Composante : wd300com.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 12/03/2025

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