XXXIII. 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 librairie supplémentaire pour disposer de ces fonctions.

Configuration à l'exécution

Cette extension ne définit aucune directive de configuration.

Types de ressources

This extension uses one resource type, which is the link identifier of the FTP connection.

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éterimine 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
// cr&eacute;ation de la connexion
$conn_id = ftp_connect($ftp_server);

// authentification avec nom de compte et mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// v&eacute;rification de la connexion
if ((!$conn_id) || (!$login_result)) {
        echo
"La connexion FTP a &eacute;chou&eacute;!";
        echo
"Tentative de connexion &agrave; $ftp_server avec $ftp_user_name";
        die;
    } else {
        echo
"Connected to $ftp_server, for user $ftp_user_name";
    }

// t&eacute;l&eacute;chargement d'un fichier
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);

// V&eacute;rification de t&eacute;l&eacute;chargement
if (!$upload) {
        echo
"Le t&eacute;l&eacute;chargement FTP a &eacute;chou&eacute;!";
    } else {
        echo
"T&eacute;l&eacute;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érenctes 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 -- Ferme une connexion FTP
ftp_raw -- Envoie une commande FTP brute
ftp_rawlist --  Fait une liste détaillée de 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.