Listar Archivos .php con PHP
De hace unos dÃas que estoy alejado del blog, un poco de flojera y otro porque estoy trabajando en una página hecha en PHP.
Mientras lo estaba haciendo se me ocurrió tener una página que mostrara todos los archivos de ese directorio, en este caso son letras de canciones. La idea es mostrar todas las canciones dentro del directorio en forma de lista, usando un tÃtulo legible con un enlace hacia la canción. Es una especie de mapa de web automático.
Esta lista se encuentra ordenada alfabéticamente utilizando como nombre la url del archivo, ejemplo:
http://www.mipagina.com/mi-página-personal.php
Este script generará automáticamente un tÃtulo sin guiones, ya que los reemplaza por espacios automáticamente. En la lista se mostrarÃa de esta forma:
- Mi Pagina Personal
Automáticamente cada palabra empezará con mayúscula.
El código utilizado lo conseguà gracias a la página oficial de php, utilizando la variable opendir().
Este es el código utilizado:
// read all php file in the current directory
if ($dh = opendir('./')) {
$files = array();
while (($file = readdir($dh)) !== false) {
if (substr($file, strlen($file) - 4) == '.php') {
array_push($files, $file);
}
}
closedir($dh);
}
// Sort the files and display
sort($files);
echo "<ul>\n";
foreach ($files as $file) {
$title = Title($file);
echo "<li><a href=\"$file\" title=\"$title\">$title</a></li>\n";
}
echo "</ul>\n";
// Function to get a human readable title from the filename
function Title($filename) {
$title = substr($filename, 0, strlen($filename) - 4);
$title = str_replace('-', ' ', $title);
$title = ucwords($title);
return $title;
}
?>
No tengo como mostrarles una demo por el momento, pero les aseguro que funciona, el único problema, según yo, es que en la lista también se muestra un link hacia el archivo que contiene este código, pero es lo de menos
Espero que me haya quedado entendible :B
16/05/2009



Deja un Comentario
Additional comments powered by BackType