DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Communication / Fonctions FTP
  • Gestion de la progression de transfert
  • Délai de transfert
  • Droits des utilisateurs
  • Chemin relatif et absolu
  • 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
Transfère un fichier ou un répertoire sur un serveur FTP (File Transfer Protocol).
Syntaxe
<Résultat> = FTPEnvoie(<Identifiant de la connexion> , <Fichier/Répertoire à transférer> , <Fichier/Répertoire destination> [, <Procédure WLangage> [, <Mode de transfert>]])
<Résultat> : Booléen
  • Vrai si le transfert a été effectué,
  • Faux dans le cas contraire. Le compte-rendu d'erreur détaillé peut être obtenu avec la fonction ErreurInfo.
<Identifiant de la connexion> : Entier
Identifiant de la connexion, obtenu avec la fonction FTPConnecte.
<Fichier/Répertoire à transférer> : Chaîne de caractères
Nom et chemin complet (ou relatif) du fichier (ou du répertoire) à transférer. Un chemin de type UNC peut être utilisé. Il n'est pas possible d'utiliser des caractères joker (* ou ?).
Si ce paramètre correspond à un répertoire, tous les fichiers de ce répertoire sont transférés. Un répertoire de même nom est créé sur le serveur FTP à l'emplacement désigné par le paramètre <Fichier/Répertoire destination>.
Si ce paramètre correspond à un fichier :
  • Si le paramètre <Fichier/Répertoire destination> est un répertoire existant sur le serveur FTP, le fichier à transférer est copié dans le répertoire destination.
  • Si le paramètre <Fichier/Répertoire destination> est un fichier existant sur le serveur FTP, le fichier à transférer est copié et renommé.
<Fichier/Répertoire destination> : Chaîne de caractères
Nom et chemin absolu (ou relatif) du fichier (ou du répertoire) destination. Ce fichier (ou ce répertoire) est situé sur le serveur FTP. Les parties du chemin sont séparées par des "slash" (barre oblique normale, "/").
Un chemin absolu est du type "/<NomRépertoire>/<NomFichier>". L'arborescence obtenue est "/<NomRépertoire>/<NomFichier>".
Un chemin relatif est du type "<NomRépertoire>/<NomFichier>". L'arborescence obtenue est "/<RépertoireCourantServeur>/<NomRépertoire>/<NomFichier>".
<Procédure WLangage> : Nom de procédure
Nom d'une procédure appelée automatiquement pour contrôler la progression du transfert.
<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.
Remarques
AndroidWidget Android

Gestion de la progression de transfert

La fonction FTPEnvoie est une fonction bloquante : aucune autre action ne peut être effectuée jusqu'à la fin du transfert en cours. Pour contrôler la progression du transfert, la fonction FTPEnvoie peut appeler automatiquement la procédure <Nom de la procédure> à intervalles réguliers.
Cette procédure est déclarée de la manière suivante :
PROCEDURE <Nom de la procédure> (<Taille totale>, <Taille transférée>)
  • <Taille totale> est un entier correspondant à la taille totale du fichier ou du répertoire en cours de transfert.
  • <Taille transférée> est un entier correspondant au nombre d'octets déjà transférés.
Par exemple, il est possible :
  • d'afficher une jauge de progression,
  • de savoir si le transfert est terminé (dans ce cas, <Taille totale>=<Taille transférée>).
La fonction FTPEnvoie ne peut pas être interrompue tant qu'il reste des fichiers à transférer. Pour forcer l'interruption du parcours, utilisez la ligne suivante dans la procédure <Nom de la procédure> :
RENVOYER Faux
Dans les autres cas (pour poursuivre le parcours), la procédure <Nom de la procédure> DOIT renvoyer Vrai.
Si aucune valeur (ni Vrai, ni Faux) n'est retournée par la procédure <Nom de la procédure>, une erreur est générée.

Délai de transfert

Par défaut, toutes les fonctions FTP échouent si aucune réponse du serveur FTP n'est reçue après 20 secondes. Ce délai peut être modifié lors de la connexion au serveur FTP avec la fonction FTPConnecte.

Droits des utilisateurs

L'envoi de fichiers sur un serveur FTP n'est possible que pour un utilisateur ayant les droits en écriture sur le serveur FTP. En règle générale, les utilisateurs "anonymes" n'ont pas les droits en écriture.

Chemin relatif et absolu

Les notions de chemin relatif et de chemin absolu sont très importantes dans une application FTP.
  • Un chemin commençant par un slash est considéré comme un chemin absolu : il s'agit du chemin par rapport à la racine du serveur FTP (paramètre propre au serveur).
    ex: /pub/user/JULIE
  • Si le chemin ne commence pas par un slash, il est considéré comme un chemin relatif, c'est-à-dire le chemin par rapport au répertoire en cours. Ce répertoire en cours peut-être connu ou modifié avec la fonction FTPRepEnCours.
Lors de la connexion à un site FTP, le répertoire initial, le "home directory" de l'utilisateur n'est pas forcément la racine du serveur FTP. Il est donc conseillé d'utiliser des chemins relatifs.
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 : 25/05/2022

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