"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Pourquoi mon répertoire PHP Renvoie-t-il "1" au lieu de noms de fichiers?

Pourquoi mon répertoire PHP Renvoie-t-il "1" au lieu de noms de fichiers?

Publié le 2025-01-28
Parcourir:847

Why Does My PHP Directory Listing Return

Récupération des noms de fichiers à partir d'un répertoire dans php

en php, l'obtention des noms des fichiers dans un répertoire peut être une tâche directe. Cependant, vous pouvez rencontrer un problème où le code que vous avez présenté renvoie '1' au lieu des noms de fichiers.

Discutons dans le code:

if (is_dir($log_directory)) {
    if ($handle = opendir($log_directory)) {
        while($file = readdir($handle) !== FALSE) {
            $results_array[] = $file;
        }
        closedir($handle);
    }
}

Dans ce code, vous essayez de lire les fichiers d'un répertoire utilisant OpenDir () et ReadDir (). Bien que cette approche fonctionne dans de nombreux cas, elle peut ne pas toujours afficher correctement les noms de fichiers.

Solution: utilisation glob () pour la récupération de fichiers

au lieu d'utiliser OpenDir ( ) et readdir (), envisagez de tirer parti de la fonction glob (). Il fournit un moyen plus efficace de récupérer une liste de fichiers dans un répertoire:

foreach(glob($log_directory.'/*.*') as $file) {
    ...
}

Dans ce code, Glob () recherchera le $ log_directory pour tous les fichiers avec n'importe quelle extension de fichier (*. *). Il renvoie un tableau contenant les chemins complets vers les fichiers trouvés.

en itérant sur le tableau obtenu à partir de glob (), vous pouvez accéder au chemin complet de chaque fichier, y compris son nom. Cette méthode élimine le problème de l'obtention de «1» comme nom de fichier, vous fournissant les noms de fichiers réels dans le répertoire.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3