Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/05/2007, 10:08
Avatar de jair20x
jair20x
 
Fecha de Ingreso: noviembre-2005
Ubicación: Madrid - España
Mensajes: 532
Antigüedad: 18 años, 5 meses
Puntos: 1
Pregunta listar directorio pero con exclusiones

Hola encontre este codigo navegando en internet y me sirve para listar
los archivo de mi directorio ...
Quisiera saber como haria para excluir archivos digamos qme me muestre todos los archivos menos los .css y los .doc
espero sus respuestas
Saludos y Gracias

Código:
<? 
if (empty($_GET['ruta']) || ereg("^\.", $_GET['ruta'])) { 
    $dir = './'; 
} 
else { 
    $dir = $_GET['ruta']; 
} 
if (is_dir($dir)) { 
     
    function tamano($bytes) { 
        $largo = strlen($bytes); 
        if ($largo < 4) { 
            $divisor = 1; 
            $unidad = 'B'; 
        } 
        else if ($largo > 3 && $largo < 7) { 
            $divisor = 1024; 
            $unidad = 'KB'; 
        } 
        else if ($largo > 6 && $largo < 10) { 
            $divisor = pow(1024, 2); 
            $unidad = 'MB'; 
        } 
        else if ($largo > 9 && $largo < 12) { 
            $divisor = pow(1024, 3); 
            $unidad = 'GB'; 
        } 
        else { 
            $divisor = pow(1024, 4); 
            $unidad = 'TB'; 
        } 
        $salida[0] = round(($bytes / $divisor), 2); 
        $salida[1] = $unidad; 
        return $salida; 
    } 

    $gd = opendir($dir); 
    if ($gd) { 
        $rn = "\r\n"; 
        while (($archivo = readdir($gd)) !== false) { 
            if (ereg("^(.)*\.[a-zA-Z0-9]{1,3}$", $archivo)) { 
                if ($archivo == 'index.php') { break; } 
                $extension = strtolower(substr($archivo, -3)); 
                switch ($extension) { 
                    case 'mp3': 
					$icono = 'iconos/imp3'; 
					break;
					case 'doc':
					$icono = 'iconos/idoc'; 
					break;
					case 'zip':
					$icono = 'iconos/izip'; 
					break;
					case 'rar':
					$icono = 'iconos/irar';
					break;
					case 'jpg'; 
                    $icono = 'iconos/ijpg'; 
                    break;
					case 'gif'; 
                    $icono = 'iconos/ijpg'; 
                    break;
					case 'mpg'; 
                    $icono = 'iconos/impg'; 
                    break;  
					case 'swf'; 
                    $icono = 'iconos/iswf'; 
                    break;                      
                    default: 
                    $icono = 'iconos/archivo'; 
                    break; 
                } 
                 
                $iconos [] = $icono; 
                $archivos[] = $archivo; 
                $fechas[] = $fecha; 
                $tamanos[] = tamano(filesize($dir.$archivo)); 
            } 
            else if ($archivo != '.' && $archivo != '..') { 
                $carpetas[] = $archivo; 
            } 
        } 
        closedir($gd); 
         
        if ($dir != '.') { 
            $ruta = explode('/', $_GET['ruta']); 
            $tot_subdir = count($ruta) - 2; 
            krsort($ruta); 
            $volver = '<img src="iconos/volver.gif"> <a href="?ruta='; 
            for ($i = 0; $i < $tot_subdir; $i++) { 
                $volver .= $ruta[$i].'/'; 
            } 
            $volver .= '">volver</a><br>'.$rn; 
            echo $volver; 
        } 
         
        if (is_array($carpetas)) { 
            natcasesort($carpetas); 
            foreach ($carpetas as $valor) { 
                echo '<img src="iconos/folder.gif"> <a href="?ruta='.$_GET['ruta'].urlencode($valor).'/">'.$valor.'</a>   '.'<br>'; 
            } 
        } 
         
        if (is_array($archivos)) { 
            if (natcasesort($archivos)) { 
                foreach ($archivos as $clave => $valor) { 
                    echo '<img src="'.$iconos[$clave].'.gif"> <a href="'.$dir.urlencode($valor).'">'.$valor.'</a>  '; 
                    printf("%6.2f ", $tamanos[$clave][0]); 
                    echo $tamanos[$clave][1]; 
                    echo "<br>"; 
                } 
            } 
        } 
    } 
} 
else { 
    echo 'El directorio \''.$dir.'\' no es v&aacute;lido.';  
} 
?>