Dada la ruta de la carpeta y la tarea es imprimir los nombres de las subcarpetas y archivos presentes dentro de ellas.
Explicación: en nuestro código PHP, inicialmente, se comprueba si la ruta o el nombre de archivo proporcionado es un directorio o no usando la función is_dir() . Ahora, abrimos el directorio usando la función opendir() y luego verificamos si se está abriendo o tiene algunos errores. Luego usamos un bucle while para obtener los nombres de todas las subcarpetas, así como los archivos, presentes dentro del directorio con la ayuda de la función readdir() . Ahora vamos dentro de cada subcarpeta y leemos los nombres de todos los archivos presentes dentro de ellas siguiendo un procedimiento similar.
Estructura de carpetas:
Código:
Nota: este código se guardó como archivo PHP y se accedió a través de wampserver
php
<?php $gfg_folderpath = "GeeksForGeeks/"; // CHECKING WHETHER PATH IS A DIRECTORY OR NOT if (is_dir($gfg_folderpath)) { // GETTING INTO DIRECTORY $files = opendir($gfg_folderpath); { // CHECKING FOR SMOOTH OPENING OF DIRECTORY if ($files) { //READING NAMES OF EACH ELEMENT INSIDE THE DIRECTORY while (($gfg_subfolder = readdir($files)) !== FALSE) { // CHECKING FOR FILENAME ERRORS if ($gfg_subfolder != '.' && $gfg_subfolder != '..') { echo "SUBFOLDER--" .$gfg_subfolder . "<br> "."Files in ".$gfg_subfolder."--<br>"; $dirpath = "GeeksForGeeks/" . $gfg_subfolder . "/"; // GETTING INSIDE EACH SUBFOLDERS if (is_dir($dirpath)) { $file = opendir($dirpath); { if ($file) { //READING NAMES OF EACH FILE INSIDE SUBFOLDERS while (($gfg_filename = readdir($file)) !== FALSE) { if ($gfg_filename != '.' && $gfg_filename != '..') { echo $gfg_filename . "<br>"; } } } } } echo "<br>"; } } } } } ?> <!DOCTYPE html> <html> <head> <title>What's there in GeeksForGeeks </title> </head> <body> </body> </html>
Producción: