ftp_get()
Qu'est-ce que ftp_get() ?
La fonction ftp_get() est une fonction intégrée de PHP qui récupère un fichier depuis le serveur FTP et le sauvegarde dans un fichier local. La fonction prend cinq paramètres (trois obligatoires, deux optionnels) :
- ftp_stream : L'identifiant de connexion renvoyé par la fonction ftp_connect().
- local_file : Le nom du fichier local dans lequel les données récupérées doivent être sauvegardées.
- remote_file : Le nom du fichier distant à récupérer depuis le serveur FTP.
- mode : Le mode de transfert. Utilisez
FTP_BINARYpour les fichiers binaires ouFTP_ASCIIpour les fichiers texte. - resumepos : La position de départ du transfert (par défaut 0).
La fonction renvoie une valeur booléenne. Si la fonction réussit à récupérer le fichier, elle renvoie true. Sinon, elle renvoie false.
Syntaxe de ftp_get()
La syntaxe de la fonction ftp_get() est la suivante :
Syntaxe de ftp_get() en PHP
bool ftp_get ( resource $ftp_stream , string $local_file , string $remote_file [, int $mode = FTP_BINARY [, int $resumepos = 0 ]] )Remarque : À partir de PHP 8.1+, le type resource pour les connexions FTP est déprécié au profit des objets Ftp\Connection. La syntaxe héritée resource est conservée ici pour la compatibilité ascendante.
La fonction ftp_get() prend cinq paramètres : ftp_stream, local_file, remote_file, mode et resumepos. Le paramètre ftp_stream est l'identifiant de connexion renvoyé par la fonction ftp_connect(). Le paramètre local_file est le nom du fichier local dans lequel les données récupérées doivent être sauvegardées. Le paramètre remote_file est le nom du fichier distant à récupérer depuis le serveur FTP. Le paramètre mode est un paramètre optionnel qui spécifie le mode de transfert, et le paramètre resumepos est un paramètre optionnel qui spécifie la position de départ du transfert. FTP_BINARY est recommandé pour la plupart des fichiers (images, archives, exécutables), tandis que FTP_ASCII n'est nécessaire que pour les fichiers texte brut et effectue des conversions automatiques de fins de ligne.
Utilisation de ftp_get()
Pour utiliser la fonction ftp_get(), vous devez d'abord établir une connexion au serveur FTP à l'aide de la fonction ftp_connect(). Voici un exemple :
Utilisation de ftp_get() en PHP
<?php
// Set up an FTP connection
$conn = @ftp_connect('ftp.example.com');
if (!$conn) {
die("Could not connect to FTP server.");
}
// Login with your FTP credentials
if (!ftp_login($conn, 'username', 'password')) {
die("Login failed.");
}
// Retrieve a remote file and save it to a local directory
if (ftp_get($conn, '/local/directory/local_file.txt', 'remote_file.txt', FTP_BINARY)) {
echo "File retrieved successfully.\n";
} else {
echo "Failed to retrieve the file.\n";
}
// Close the FTP connection
ftp_close($conn);Dans cet exemple, nous établissons une connexion au serveur FTP à l'aide de la fonction ftp_connect() et vérifions qu'elle a réussi. Ensuite, nous nous connectons avec nos identifiants FTP à l'aide de la fonction ftp_login() et vérifions les erreurs de connexion. Enfin, nous récupérons un fichier distant et le sauvegardons dans un répertoire local à l'aide de la fonction ftp_get() avec le mode FTP_BINARY, puis nous fermons la connexion FTP.
Gestion des erreurs dans ftp_get()
Il est important de gérer correctement les erreurs lors de l'utilisation de la fonction ftp_get(). Si la fonction renvoie false, cela signifie que le fichier n'a pas pu être récupéré pour une raison quelconque. Voici un exemple de gestion des erreurs :
Gestion des erreurs dans ftp_get()
<?php
if (ftp_get($conn, '/local/directory/local_file.txt', 'remote_file.txt', FTP_ASCII) === false) {
echo "Failed to retrieve the file.\n";
} else {
echo "File retrieved successfully.\n";
}Dans cet exemple, nous vérifions la valeur de retour de la fonction ftp_get(). Si elle est false, nous affichons un message d'erreur ; sinon, nous affichons un message de succès.
Conclusion
En conclusion, la fonction ftp_get() est une fonction intégrée PHP utile qui vous permet de récupérer un fichier depuis un serveur FTP et de le sauvegarder dans un fichier local. En suivant les directives et les bonnes pratiques présentées dans cet article, vous pouvez utiliser la fonction ftp_get() dans vos projets PHP en toute confiance.
Pratique
Que fait la fonction FTP_GET en PHP ?