W3docs

ftp_mkdir()

La fonction ftp_mkdir() est une fonction PHP intégrée qui crée un nouveau répertoire sur le serveur FTP. Elle prend deux paramètres.

Qu'est-ce que ftp_mkdir() ?

La fonction ftp_mkdir() est une fonction PHP intégrée qui crée un nouveau répertoire sur le serveur FTP. Elle prend deux paramètres :

  1. ftp_stream : L'identifiant de connexion retourné par la fonction ftp_connect().
  2. directory : Le nom du répertoire à créer.

La fonction retourne true si le répertoire a été créé avec succès. Sinon, elle retourne false. Notez que ftp_mkdir() ne peut pas créer de répertoires imbriqués ; les chemins intermédiaires doivent être créés manuellement.

Syntaxe de ftp_mkdir()

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

Syntaxe de ftp_mkdir()

bool ftp_mkdir ( FTP\Connection $ftp_stream , string $directory )

Remarque : La signature typée ci-dessus nécessite PHP 8.0+. La fonction est disponible depuis PHP 4.3.0.

Utilisation de ftp_mkdir()

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

Utilisation de ftp_mkdir()

<?php

// Set up an FTP connection
$conn = ftp_connect('ftp.example.com');

// Login with your FTP credentials
ftp_login($conn, 'username', 'password');

// Create a new directory
if (ftp_mkdir($conn, '/path/to/new/directory')) {
    echo "Directory created successfully.\n";
} else {
    echo "Failed to create directory.\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(). Ensuite, nous nous connectons avec nos identifiants FTP à l'aide de la fonction ftp_login(). Enfin, nous créons un nouveau répertoire à l'aide de la fonction ftp_mkdir() et fermons la connexion FTP.

Gestion des erreurs dans ftp_mkdir()

Il est important de gérer correctement les erreurs lors de l'utilisation de la fonction ftp_mkdir(). Si la fonction retourne false, cela signifie que la création du répertoire a échoué. Les raisons courantes incluent des permissions insuffisantes, un chemin invalide ou le répertoire cible qui existe déjà. Notez que ftp_mkdir() échouera si le répertoire spécifié existe déjà.

Voici un exemple de gestion des erreurs et de configuration de paramètres FTP fiables :

Gestion des erreurs dans ftp_mkdir()

<?php
if (ftp_mkdir($conn, '/path/to/new/directory')) {
    echo "Directory created successfully.\n";
} else {
    echo "Failed to create directory.\n";
    // Note: PHP's FTP extension does not expose the last server response directly.
    // Verify connection status, permissions, and path validity.
}
?>

Pour des opérations FTP fiables, envisagez de définir un délai d'expiration et d'activer le mode passif avant de créer des répertoires :

ftp_set_option($conn, FTP_TIMEOUT_SEC, 30);
ftp_set_option($conn, FTP_USEPASVADDRESS, true);

Conclusion

La fonction ftp_mkdir() offre un moyen simple de créer des répertoires sur un serveur FTP. N'oubliez pas de valider votre connexion, de gérer les erreurs de manière appropriée, de définir des délais d'expiration adaptés et de créer manuellement les répertoires intermédiaires si nécessaire. L'application de ces bonnes pratiques vous permettra d'intégrer la gestion des répertoires FTP dans vos applications PHP de manière fiable.

Fonctions associées

Ces fonctions sont couramment utilisées avec ftp_mkdir() lors de la gestion de répertoires via FTP :

  • ftp_rmdir() — supprime un répertoire du serveur FTP.
  • ftp_chdir() — change le répertoire de travail courant sur le serveur.
  • ftp_pwd() — retourne le chemin du répertoire courant.
  • ftp_set_option() — configure des options telles que le délai d'expiration de la connexion.
  • ftp_pasv() — active ou désactive le mode passif, souvent requis derrière des pare-feux.
  • ftp_close() — ferme la connexion FTP lorsque vous avez terminé.

Pratique

Pratique
Quelle est la fonction principale de ftp_mkdir() en PHP ?
Quelle est la fonction principale de ftp_mkdir() en PHP ?
Was this page helpful?