XXXV. FTP

Introduction

FTP : File Transfer Protocol (Protocole de transfert de fichiers). Ces fonctions implémentent un client pour accéder aux serveurs FTP, comme défini dans http://www.faqs.org/rfcs/rfc959.html.

Pré-requis

Ces fonctions sont disponibles dans le module PHP standard, qui est toujours accessible.

Installation

Pour activer le module FTP de votre configuration PHP, il faut utiliser l'option --enable-ftp en PHP 4, et l'option --with-ftp en PHP 3 avec le script de configuration.

La version Windows de PHP dispose du support automatique de cette extension. Vous n'avez pas à ajouter de bibliothèque supplémentaire pour disposer de ces fonctions.

Configuration à l'exécution

Cette extension ne définit aucune directive de configuration.

Types de ressources

Cette extension utilise un type de ressource (retourné par la fonction ftp_connect()), qui est le lien identifiant la connexion FTP.

Constantes prédefinies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

FTP_ASCII (entier)

FTP_TEXT (entier)

FTP_BINARY (entier)

FTP_IMAGE (entier)

FTP_TIMEOUT_SEC (entier)

Voir ftp_set_option() pour les détails.

Les constantes suivantes ont été introduites en PHP 4.3.0.

FTP_AUTOSEEK (entier)

Voir ftp_set_option() pour les détails.

FTP_AUTORESUME (entier)

Détermine automatiquement la position de reprise (RESUME) et la position de début pour les requêtes GET et PUT (ne fonctionne qu'avec FTP_AUTOSEEK)

FTP_FAILED (entier)

Le mode asynchrone a échoué

FTP_FINISHED (entier)

Le mode asynchrone a terminé

FTP_MOREDATA (entier)

Le mode asynchrone est encore actif

Exemples

Exemple 1. Exemple FTP

<?php
/* Connexion */
$conn_id = ftp_connect($ftp_server);

/* Identification */
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

/* Vérification de la connexion */
if ((!$conn_id) || (!$login_result)) {
        echo
"La connexion FTP a échoué!\n";
        echo
"Tentative de connexion à $ftp_server avec $ftp_user_name.\n";
        die;
    } else {
        echo
"Connecté sur $ftp_server, avec l'utilisateur $ftp_user_name";
    }

/* Téléchargement d'un fichier */
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);

/* Vérification de téléchargement */
if (!$upload) {
        echo
"Le téléchargement FTP a échoué!";
    } else {
        echo
"Téléchargement de $source_file sur $ftp_server en $destination_file";
    }

/* Fermeture de la connexion FTP */
ftp_close($conn_id);
?>

Table des matières
ftp_alloc -- Alloue de l'espace pour un téléchargement de fichier
ftp_cdup -- Change de dossier et passe au dossier parent
ftp_chdir -- Change le dossier FTP courant
ftp_chmod -- Modifie les droits d'un fichier via FTP
ftp_close -- Ferme une connexion FTP
ftp_connect -- Ouvre une connexion FTP
ftp_delete -- Efface un fichier sur un serveur FTP
ftp_exec -- Exécute une commande sur le serveur FTP
ftp_fget --  Télécharge un fichier via FTP dans un flux local
ftp_fput -- Charge un fichier sur un serveur FTP
ftp_get_option -- Lit différentes options pour la connexion FTP courante
ftp_get --  Télécharge un fichier depuis un serveur FTP
ftp_login -- Identification avec une connexion FTP
ftp_mdtm --  Retourne la date de dernière modification d'un fichier sur un serveur FTP.
ftp_mkdir -- Crée un dossier sur un serveur FTP
ftp_nb_continue -- Reprend le téléchargement d'un fichier (non bloquant)
ftp_nb_fget -- Lit un fichier sur un serveur FTP, et l'écrit dans un fichier (non bloquant)
ftp_nb_fput -- Ecrit un fichier sur un serveur FTP, et le lit depuis un fichier (non bloquant)
ftp_nb_get -- Lit un fichier sur un serveur FTP, et l'écrit dans un fichier (non bloquant)
ftp_nb_put -- Envoie un fichier sur le serveur FTP (non-bloquant)
ftp_nlist -- Retourne la liste des fichiers dans un dossier
ftp_pasv -- Active ou désactive le mode passif
ftp_put -- Charge un fichier sur un serveur FTP
ftp_pwd -- Retourne le nom du dossier courant
ftp_quit -- Alias de ftp_close()
ftp_raw -- Envoie une commande FTP brute
ftp_rawlist --  Fait une liste détaillée des fichiers dans un dossier
ftp_rename -- Renomme un fichier sur un serveur FTP
ftp_rmdir -- Efface un dossier FTP
ftp_set_option -- Modifie les options de la connexion FTP
ftp_site -- Envoie la commande SITE au serveur
ftp_size -- Retourne la taille d'un fichier.
ftp_ssl_connect -- Ouvre une connexion FTP sécurisée avec SSL
ftp_systype -- Retourne un identifiant de type de serveur FTP.