Position actuelle: Accueil> Derniers articles> La liste des fichiers renvoyée par FTP_NList contiendra-t-elle des fichiers cachés? Comment juger?

La liste des fichiers renvoyée par FTP_NList contiendra-t-elle des fichiers cachés? Comment juger?

M66 2025-06-14

1. La liste des fichiers renvoyée par FTP_NList contient-elle des fichiers cachés?

Tout d'abord, il est important de comprendre comment fonctionne FTP_NList . Cette fonction demande le serveur via le protocole FTP à la liste de répertoires spécifiée et renvoie le résultat en tant que tableau. En ce qui concerne les fichiers cachés, FTP_NList n'exclut pas automatiquement les fichiers commençant par des points ( . ). Autrement dit, les fichiers cachés apparaissent dans la liste des fichiers renvoyés, sauf si ces fichiers ne sont pas disponibles dans la configuration du serveur FTP ou dans le répertoire spécifique.

Cela peut être vérifié en vérifiant manuellement la liste de fichiers renvoyée sur le serveur. Dans de nombreux systèmes basés sur UNIX, les fichiers cachés commencent généralement par des points ( . ), Et des fichiers tels que .gitignore ou .bashrc entrent dans cette catégorie.

 $ftp_connection = ftp_connect("ftp.m66.net");
ftp_login($ftp_connection, "username", "password");

$file_list = ftp_nlist($ftp_connection, "/path/to/directory");

print_r($file_list);

Dans le tableau $ file_list renvoyé par le code ci-dessus, s'il y a des fichiers commençant par un point dans le répertoire, ils seront répertoriés.

2. Comment déterminer si un fichier est un fichier caché?

Étant donné que la liste des fichiers renvoyée par FTP_NList peut contenir des fichiers cachés, nous devons déterminer si le fichier est un fichier caché d'une manière ou d'une autre. Le moyen le plus direct est de vérifier si le nom du fichier commence par un point ( . ).

 foreach ($file_list as $file) {
    if (strpos($file, '.') === 0) {
        echo $file . " C'est un fichier caché\n";
    } else {
        echo $file . " 不C'est un fichier caché\n";
    }
}

Le code ci-dessus détermine si le fichier est un fichier caché en vérifiant si le premier caractère du nom du fichier est un numéro de point. Si le nom du fichier commence par un point, il est considéré comme un fichier caché.

3. Que dois-je faire si je ne veux pas retourner un fichier caché?

Si vous souhaitez filtrer les fichiers cachés, vous pouvez le traiter davantage après avoir obtenu la liste des fichiers, ne laissant que les éléments qui ne sont pas des fichiers cachés. Par exemple:

 $visible_files = array_filter($file_list, function ($file) {
    return strpos($file, '.') !== 0;  // Filtrez des fichiers à commencer par des points
});

print_r($visible_files);

De cette façon, vous pouvez vous assurer que la liste de fichiers renvoyée ne contient aucun fichier masqué, adapté aux scénarios où une liste de fichiers public doit être affichée.

4. Résumé

La liste de fichiers renvoyée par FTP_NList par défaut inclura des fichiers cachés, en particulier dans les systèmes UNIX et Unix, où les fichiers cachés commencent par des points. Pour déterminer si le fichier est masqué, vous pouvez vérifier si le nom du fichier commence par un point. Si vous devez filtrer les fichiers cachés, vous pouvez utiliser la fonction Array_Filter pour le traiter, en conservant des éléments qui ne sont pas des fichiers masqués.