Dreamhost - virtual private servers, dedicated hostingDreamhost-Leaders in Web Hosting, virtual private servers, dedicated hosting, shared hosting and cloud web hosting.
Mostrando Codigo - Php

Mostrando archivos en directorio

Conseguimos mostrar todos los archivos del directorio donde tengamos insertado el script, incluyento el tamaño de los archivos
Visitas: 10261 - 18/04/2003
CODIGO SIN DEMOSTRACIONCODIGO NO EJECUTABLENO CONTIENE ARCHIVO DESCARGABLE
CODIGO
Codigo probado en Internet Explorer 4++Codigo probado en Mozilla FirefoxCodigo probado en NetscapeCodigo probado en OperaCodigo probado en Safari


' Codigo ofrecido por Tutores.org
<?
function getFiles($path) {
$files = array();
$fileNames = array();
$i = 0;

if (is_dir($path)) {
if ($dh = opendir($path)) {
while (($file = readdir($dh)) !== false) {
if ($file == "." || $file == "..") continue;
$fullpath = $path . "/" . $file;
$fkey = strtolower($file);
while (array_key_exists($fkey,$fileNames)) $fkey .= " ";
$a = stat($fullpath);
$files[$fkey]['size'] = $a['size'];
if ($a['size'] == 0) $files[$fkey]['sizetext'] = "-";
else if ($a['size'] > 1024) $files[$fkey]['sizetext'] = (ceil($a['size']/1024*100)/100) . " K";
else if ($a['size'] > 1024*1024) $files[$fkey]['sizetext'] = (ceil($a['size']/(1024*1024)*100)/100) . " Mb";
else $files[$fkey]['sizetext'] = $a['size'] . " bytes";
$files[$fkey]['name'] = $file;
$files[$fkey]['type'] = filetype($fullpath);
$fileNames[$i++] = $fkey;
}
closedir($dh);
} else die ("No pudo abrirse el directorio: $path");
} else die ("La ruta no es un directorio: $path");
sort($fileNames,SORT_STRING);
$sortedFiles = array();
$i = 0;
foreach($fileNames as $f) $sortedFiles[$i++] = $files[$f];

return $sortedFiles;
}

$files = getFiles("./");
foreach ($files as $file) print "&nbsp;&nbsp;&nbsp;&nbsp;<b><a href="$file[name]">$file[name]</a></b><br> ";
?>

ENLACE AL CODIGO
Si quieres enlazar desde tu pagina a este codigo
<!-- Inicio enlace Tutores.org -->
<a title="Tutores.org - Mostrando archivos en directorio" href="http://www.tutores.org/codigo/410/" target="_blank">Mostrando archivos en directorio</a>
<!-- Final enlace Tutores.org -->
COMENTARIOS
jose medina
Hola he probado este codigo y me falla [*CODE*] while($entry = $d->read()) [*/CODE*]. Me dice el siguiete error:"Call to a member function on a non-object". Espero que podais ayudarme. Saludos y muchas gracias por todo.
Tutores.org 19/04/2003
Hola el codigo lo hemos modificado, pruebalo este si funciona sin problemas.
Saludos
rodrigo 24/10/2003 22.12.49
El codigo funciona para listar archivos, pero no entrega los valores del peso de cada archivo.
Se podria mejorar indicando con otro color los directorios
paralaweb 27-09-2008 07:43:54
Rodrigo reemplaza esta linea del foreach y listo
------------------------------------------------------
foreach ($files as $file) print "<b><a href="$file[name]">$file[name]</a> size_ $file[size]</b><br>";
------------------------------------------------------

cualquier cosa postea que te ayudo

Saludos
JP
paralaweb 27-09-2008 07:43:54
perdon te va a confundir ahi va de vuelta
------------------------------------------------------
foreach ($files as $file) print "<b><a href="$file[name]">$file[name]</a> medida $file[size]</b><br>n";
------------------------------------------------------

Saludos
JP
nanocba 08-05-2009 01:31:34
Quisiera saber si hay forma que de ese mismo listado pero sin extension y con alguna especie de filtro, por ejemplo, solo aquellos archivos que contengan la palabra "HOLA"
Muchas gracias por la ayuda desde ya
juangelse 08-04-2010 18:04:25
excelente codigo, si quisiera mostrar la fecha del archivo como seria

gracias...
INSERTAR COMENTARIO

Usuario:
Email:
Comentario:
Codigo Seguridad


Antes de enviar un comentario...
Todos los comentarios son revisados personalmente
Todo comentario que no haga relacion al codigo mostrado en esta pagina sera eliminado

Usuarios registrados tienen preferencia en recibir respuestas de ayuda!!
Ademas de poder insertar Imagenes,Enlaces y otras propiedades del editor.
Por favor, insertar los comentarios descriptivos.