XXXIX. Fonctions FTP

Introduction

Les fonctions de cette extension implémentent l'accès au client à un serveur de fichier qui gère le protocole FTP comme défini dans la RFC http://www.faqs.org/rfcs/rfc959. Cette extension Cette extension permet à l'accès détaillé sur un serveur FTP fournissant un éventail de commandes pour les scripts. Si vous voulez uniquement lire ou écrire un fichier sur un serveur FTP, utilisez plutôt le gestionnaire ftp:// wrapper avec les fonctions de système de fichiers qui fournissent une interface simple et intuitive.

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.

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 qui est un identifiant du lien de connexion FTP, retourné par ftp_connect() ou ftp_ssl_connect().

Constantes pré-définies

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
// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);

// Identification avec un nom d'utilisateur et un mot de passe
$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é !";
        echo
"Tentative de connexion au serveur $ftp_server pour l'utilisateur $ftp_user_name";
        exit;
    } else {
        echo
"Connexion au serveur $ftp_server, pour l'utilisateur $ftp_user_name";
    }

// Chargement d'un fichier
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);

// Vérification du status du chargement
if (!$upload) {
        echo
"Le chargement FTP a échoué!";
    } else {
        echo
"Chargement de $source_file vers $ftp_server en tant que $destination_file";
    }

// Fermeture du flux 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 fichier 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