Pasar variables en php es muy fácil, lo primero que tenemos que saber es que el ámbito de una variable es el sitio donde la variable tiene...
Listar un directorio con php
Listar un directorio con php es muy útil para visualizar de forma rápida el contenido de una carpeta de nuestro proyecto, si añadimos un poco de imaginación podemos utilizarlo para crear un listado, un menú dinámico o cualquier otro elemento que podamos necesitar, para ello, php dispone de funciones predefinidas que nos facilitarán esta tarea. Comenzamos creando un archivo index.php en el directorio raiz que contiene la carpeta del proyecto que queremos listar.
Lo primero que vamos a hacer es crear la función que llamaremos posteriormente, para crear esta función, vamos a utilizar las funciones de php scandir() y is_dir().
Creamos la función a la que pasaremos un parámetro que indicaremos en la llamada a la función e inicializaremos una variable a la que asignaremos el valor de la función scandir() que a su vez recibirá el valor del parámetro que le pasemos al llamar a la función.
<?php
function listadoDirectorio($directorio){
$listado = scandir($directorio);
}
?>
Para optimizar mejor el resultado de la función vamos a utilizar la función unset() y la función array_search(), ambas de php, para evitar que se visualicen los enlaces a las carpetas padre y de paso hacemos un if para evitar que se visualicen los directorios vacíos.
unset($listado[array_search('.', $listado, true)]);
unset($listado[array_search('..', $listado, true)]);
if (count($listado) < 1) {
return;
}
A continuación creamos un foreach con el que recorremos todos los directorios, utilizamos la función is_dir() para mostrar ficheros y directorios de diferente forma
foreach($listado as $elemento){
if(!is_dir($directorio.'/'.$elemento)) {
echo "<li>- <a href='$directorio/$elemento'>$elemento</a></li>";
}
if(is_dir($directorio.'/'.$elemento)) {
echo '<li class="open-dropdown">+ '.$elemento.'</li>';
echo '<ul class="dropdown d-none">';
listadoDirectorio($directorio.'/'.$elemento);
echo '</ul>';
}
}
Por último solo nos queda llamar a la función, este es el código completo:
<?php
function listadoDirectorio($directorio){
$listado = scandir($directorio); unset($listado[array_search('.', $listado, true)]);
unset($listado[array_search('..', $listado, true)]);
if (count($listado) < 1) {
return;
}
foreach($listado as $elemento){
if(!is_dir($directorio.'/'.$elemento)) {
echo "<li>- <a href='$directorio/$elemento'>$elemento</a></li>";
}
if(is_dir($directorio.'/'.$elemento)) {
echo '<li class="open-dropdown">+ '.$elemento.'</li>';
echo '<ul class="dropdown d-none">';
listadoDirectorio($directorio.'/'.$elemento);
echo '</ul>';
}
}
}
listadoDirectorio('nombre_carpeta');
?>
El código completo con todos los archivos y algo de css y js están disponible en mi cuenta de Github para su descarga desde el siguiente enlace:
Valoraciones
2 valoraciones
Tu valoración
Quizás te interese ...
Los parámetros son variables que recibe una función para utilizarlas en la ejecución de la misma, estos se pueden pasar de 3 formas...
En este artículo vamos a crear un mecanismo para mostrar las tablas de una base de datos en MySQL dinámicamente, el objetivo es que el...
Existen varios motivos a nivel profesional para permitir a un usuario modificar la hoja de estilos en un sitio web, uno de ellos y quizá el...
Victor 11 marzo, 2022
Bien hecho!
Diego Peralta 21 agosto, 2021
excelente aporte me ayudoo bastante le agregue los iconos