Foros del Web » Programando para Internet » PHP »

corrección de código para listado php

Estas en el tema de corrección de código para listado php en el foro de PHP en Foros del Web. Hola Tengo este codigo que que he armado entre tutoriales y ejemplos en la web, pero aun no me sirve al 100%, les explico lo ...
  #1 (permalink)  
Antiguo 05/09/2011, 13:38
 
Fecha de Ingreso: septiembre-2011
Mensajes: 2
Antigüedad: 12 años, 7 meses
Puntos: 0
corrección de código para listado php

Hola
Tengo este codigo que que he armado entre tutoriales y ejemplos en la web, pero aun no me sirve al 100%, les explico lo que necesito y al final espero que me puedan ayudar u orientarme. El codigo es para listar los archivos de un directorio web, necesito que siempre se liste en tres columnas y si es un directorio tenga la imagen "directorio.png" arriba del texto o al lado derecho, si es un archivo pdf, debera tener la imagen "arc_pdf.png". Además de ocultar los .php y .html. He logrado que este en 3 columnas, una imagen de fondo, aun no he podido hacer que esconda los php y la imagenes se colocan en el "top" de la pagina, no debajo de cada nombre como quisiera.
Aqui el codigo:

<style type="text/css">
body {
background-image: url(imagenes/fondo06.png);
}
</style>
<?php

$columns = 3;

$ele = array();
$directorio = opendir(".");

while ($archivo = readdir($directorio)) {
$nombreArch = ucwords($archivo);
$nombreArch = str_replace("..", "Atras", $nombreArch);
$ele[] = $nombreArch;
$no_mostrar=array("",".php",".html");
echo "<img src='./imagenes/directorio.png'>";
}

closedir($directorio);

echo "<table width='100%' align='center'";
echo "border='0' cellpadding='3' cellspacing='3'>";

$z = 0;

foreach ($ele as $arc) {
if ($z % $columns == 0) {
echo "<tr>";
}
echo '<td><a href="' . $arc . '">' . $arc . '</a></td>';
$z++;
if ($z % $columns == 0) {
echo "</tr>";


}
}

echo '</table>';

gracias por su tiempo y cualquier orientacion o ayuda se agradece
  #2 (permalink)  
Antiguo 05/09/2011, 16:48
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: corrección de código para listado php

Cosas que necesitas saber:

1- Siempre que listas un directorio aparecerán . y .. que deberías ignorar porque corresponden a 'directorio actual' y 'directorio anterior', respectivamente
2- Para saber si se trata de un directorio debes usar la funcion is_dir()
3- Para separar la extension y compararla puedes usar explode() y, tal vez, end() que te devolvera el ultimo elemento de un arreglo, ejemplo: $ext = end(explode('.', $arc));

Ahora, lo unico que necesitas es un poco de logica:

1- Si $arc es . o .. o tiene una extension no permitida, pasar al siguiente elemento (continue)
2- Si $arc es un directorio, asignarle la imagen que deseas
3- Si $arc es un pdf (verificado por la extension), asignar la imagen correspondiente

Finalmente, donde estas leyendo el directorio y guardando la lista de archivos a mostrar estas enviando directamente la imagen con echo, cuando deberias hacerlo al crear la tabla.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: código, html, imagenes, listado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:26.