Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/08/2017, 20:35
pcid
Usuario no validado
 
Fecha de Ingreso: abril-2008
Mensajes: 50
Antigüedad: 18 años, 6 meses
Puntos: 16
Respuesta: Listar archivos pdf en php

Código PHP:
    class cl_files
    
{
        function 
verifyFileExtension($fileName, $extensions)
        {
            
$fileName = strtolower($fileName);
            for (
$i = 0; $i < count($extensions); $i++) $extensions[$i] = strtolower($extensions[$i]);

            for (
$i = 0; $i < count($extensions); $i++)
            {
                if (!(
strpos($fileName, '.') === FALSE))
                {
                    
$aux2 = explode('.', $fileName);
                    if (
$aux2[count($aux2) - 1] == $extensions[$i]) return TRUE;
                }
            }
            return 
FALSE;
        }

        function 
getFilesArray($path, $extensions = NULL)
        {
            
$r = NULL;
            
$aux = scandir($path);
            if (
$aux == NULL) return $r;

            for (
$i = 0; $i< count($aux); $i++)
            {
                if (
$aux[$i] != '.' && $aux[$i] != '')
                    if (!
is_dir($aux[$i]))
                    {
                        
$flag = true;
                        if (
$extensions != NULL) $flag = $this->verifyFileExtension($aux[$i], $extensions);
                        if (
$flag) $r[] = $aux[$i];
                    }
            }
            return 
$r;
        }

        function 
getLinksHTML($path, $extensions = NULL)
        {
            
$r = '';
            
$aux = $this->getFilesArray($path, $extensions);
            if (
$aux == NULL) return $r;
            
$r = '<ul>';
            for(
$i = 0; $i < count($aux); $i++)
                
$r .= '<li><a href="' . $path . $aux[$i] . '">' . $aux[$i] . '</a></li>';
            
$r .= '</ul>';
            return 
$r;
        }

    }

    
$o = new cl_files();

    
$path = './files/';
    
$extensions = array('pdf', 'jpg');

    echo 
$o->getLinksHTML($path, $extensions);
    echo 
'<pre>' . print_r($o->getFilesArray($path, array('pdf', 'jpg')), true) . '</pre>'; 
Saludos,

PCID.

Comentarios adicionales:
- La carpeta "files" al lado del archivo PHP con este código contiene los archivos a tomar en cuenta.
- Se descartan las carpetas que puedan existir en esa carpeta "files" del ejemplo.

Última edición por pcid; 26/08/2017 a las 20:38 Razón: Comentario adicional...