Aller au contenu

ftp_fput()

Qu'est-ce que ftp_fput() ?

La fonction ftp_fput() est une fonction intégrée de PHP qui permet de téléverser un fichier sur un serveur FTP. La fonction prend cinq paramètres :

  1. ftp_stream : L'identifiant de connexion renvoyé par la fonction ftp_connect().
  2. remote_file : Le nom du fichier distant vers lequel le fichier doit être téléversé.
  3. local_file : Une ressource de descripteur de fichier ouverte avec fopen() qui pointe vers le fichier local à téléverser.
  4. mode (optionnel) : Le mode de transfert (FTP_ASCII ou FTP_BINARY). La valeur par défaut est FTP_ASCII.
  5. startpos (optionnel) : La position de départ dans le fichier distant pour le téléversement. La valeur par défaut est 0.

Contrairement à ftp_put(), qui accepte une chaîne de chemin d'accès à un fichier local, ftp_fput() nécessite une ressource de descripteur de fichier ouverte.

La fonction renvoie une valeur booléenne. Si le téléversement du fichier réussit, elle renvoie true. Sinon, elle renvoie false.

Syntaxe de ftp_fput()

La syntaxe de la fonction ftp_fput() est la suivante :

Syntaxe de ftp_fput()

php
bool ftp_fput ( resource $ftp_stream , string $remote_file , resource $local_file [, int $mode = FTP_ASCII [, int $startpos = 0 ]] )

Utilisation de ftp_fput()

Pour utiliser la fonction ftp_fput(), vous devez d'abord établir une connexion au serveur FTP à l'aide de la fonction ftp_connect(). Voici un exemple :

Utilisation de ftp_fput() en PHP

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.");
}

// Open the local file
$local_file = fopen('/local/directory/local_file.txt', 'r');
if (!$local_file) {
    die("Could not open local file.");
}

// Upload the file to the remote FTP server
if (ftp_fput($conn, 'remote_file.txt', $local_file, FTP_ASCII)) {
    echo "File uploaded successfully.\n";
} else {
    echo "Failed to upload the file.\n";
}

// Close the file handle and FTP connection
fclose($local_file);
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 ftp_login() et vérifions les erreurs. Ensuite, nous ouvrons le fichier local avec fopen() pour obtenir le descripteur de fichier requis. Enfin, nous téléversons le fichier sur le serveur FTP distant à l'aide de ftp_fput() et fermons à la fois le descripteur de fichier et la connexion FTP.

Gestion des erreurs dans ftp_fput()

Il est important de gérer correctement les erreurs lors de l'utilisation de la fonction ftp_fput(). Si la fonction renvoie false, cela signifie que le fichier n'a pas pu être téléversé pour une raison quelconque. Voici un exemple de gestion des erreurs :

Gestion des erreurs dans ftp_fput()

php
<?php

// Assuming $conn is already established via ftp_connect() and ftp_login()
$local_file = fopen('/local/directory/local_file.txt', 'r');
if ($local_file && ftp_fput($conn, 'remote_file.txt', $local_file, FTP_ASCII) === false) {
    echo "Failed to upload the file.\n";
} else {
    echo "File uploaded successfully.\n";
}
fclose($local_file);

Dans cet exemple, nous vérifions la valeur de retour de la fonction ftp_fput(). Si elle est false, nous affichons un message d'erreur ; sinon, nous affichons un message de succès. N'oubliez pas de fermer le descripteur de fichier avec fclose() après l'opération.

Conclusion

La fonction ftp_fput() est une fonction intégrée PHP utile qui vous permet de téléverser un fichier sur un serveur FTP. En suivant les directives et les bonnes pratiques présentées dans cet article, vous pouvez utiliser la fonction ftp_fput() dans vos projets PHP en toute confiance.

Pratique

Que fait la fonction fput en PHP ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.