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 permet un accès détaillé au serveur FTP fournissant un éventail de commandes pour vos scripts. Si vous voulez seulement lire ou écrire un fichier sur un serveur FTP, utilisez plutôt le gestionnaire ftp:// avec les fonctions de système de fichiers qui fournissent une interface simple et intuitive.
Ces fonctions sont disponibles dans le module PHP standard, qui est toujours accessible.
Pour activer le module FTP de votre configuration PHP, il faut utiliser l'option --enable-ftp en PHP 4 et supérieur, 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.
Cette extension ne définit aucune directive de configuration.
Cette extension utilise une ressource représentant l'identifiant du lien de connexion FTP, retournée par la fonction ftp_connect() ou la fonction ftp_ssl_connect() .
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.
Les constantes suivantes ont été introduites en PHP 4.3.0.
Voir ftp_set_option() pour les détails.
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)
Le mode asynchrone a échoué
Le mode asynchrone a terminé
Le mode asynchrone est encore actif
Exemple 862. Exemple d'utilisation
<?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
);
?>