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:

<?php
    // 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

Publicado el: 16/05/2009 Publicado en la Categoria: PHP, Scripts Imprimir este Artículo Imprimir

Deja un Comentario


Haz click en los emoticonos para usarlos:

:smile: :grin: :razz: :lol: :wink: :mrgreen: :neutral: :roll: :shock: :???: :cool: :oops: :twisted: :evil: :eek: :mad: :sad: :cry: :!:

Additional comments powered by BackType