Foros del Web » Programando para Internet » PHP »

Problema al listar carpetas y archivos

Estas en el tema de Problema al listar carpetas y archivos en el foro de PHP en Foros del Web. Buenas a todos! Me pasa algo muy raro, pensaba hacer un único script en la página index.php de mi sitio al que le fuera pasando ...
  #1 (permalink)  
Antiguo 24/10/2009, 17:37
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Problema al listar carpetas y archivos

Buenas a todos!

Me pasa algo muy raro, pensaba hacer un único script en la página index.php de mi sitio al que le fuera pasando las rutas donde están las carpetas que quiero listar por GET.

El problema es que la única forma que he conseguido que funcione ha sido teniendo que crear una "instancia" del script en cada carpeta que quiero que liste su contenido :S

Ejemplo:

No puedo cambiar esta linea por ninguna ruta, ya que no me la coge
$directorio = opendir('.');

Mi estructura de carpeta es:

secciones
imagenes
css
includes
index.php (aquí está el script)


Si quiero que me muestre las carpetas y archivos que hay dentro de secciones NO me funciona poniendo:
$directorio = opendir($_SERVER['DOCUMENT_ROOT']."/secciones");

¿¿Cuál puede ser el problema?? Lo he probado de mil formas y nada, no lo entiendo, la ruta existe.


Código php:
Ver original
  1. <div id="directorios">
  2. <h2>Carpetas</h2>
  3. <ul>
  4. <?php
  5. $directorio = opendir('.');
  6. while ($archivo = readdir($directorio))
  7. {
  8.    if (is_dir ($archivo) and($archivo!='.') and($archivo!='..')){
  9.        $nombreArch = ucwords($archivo);
  10.        //$nombreArch = str_replace("..", "Atras", $nombreArch);
  11.        echo "<li><a href='$archivo'>$nombreArch</a></li>";
  12.    }
  13. }
  14. closedir($directorio);
  15. ?>
  16. </ul>
  17. </div>
  18.  
  19. <div id="archivos">
  20. <h2>Archivos</h2>
  21. <?php
  22. echo "<ul>";
  23. $directorio = opendir(".");
  24. while ($archivo = readdir($directorio))
  25. {
  26.    if (is_file ($archivo) and($archivo!='.') and($archivo!='..')){
  27.        $nombreArch = ucwords($archivo);
  28.        $nombreArch = str_replace("..", "Atras", $nombreArch);
  29.        echo "<li><a href='$archivo'>$nombreArch</a></li>";
  30.    }
  31. }
  32. echo "<ul/>";
  33. closedir($directorio);
  34. ?>
  35. </div>

Muchas gracias de antemano!
  #2 (permalink)  
Antiguo 24/10/2009, 17:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema al listar carpetas y archivos

lee el siguiente aporte, ahí viene un ejemplo de un pequeño explorador de archivos, como lo que necesitas...
http://www.forosdelweb.com/f18/aport...uladas-662159/

por cierto, el opendir() de la ruta que dices que existe y no abre, ¿te da error alguno??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 24/10/2009, 18:07
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Problema al listar carpetas y archivos

Cita:
Iniciado por pateketrueke Ver Mensaje
lee el siguiente aporte, ahí viene un ejemplo de un pequeño explorador de archivos, como lo que necesitas...
http://www.forosdelweb.com/f18/aport...uladas-662159/

por cierto, el opendir() de la ruta que dices que existe y no abre, ¿te da error alguno??
Muchas gracias pateketrueke por el enlace. Hace justo lo que quería.

Sobre tu pregunta si me da error el opendir(), no me dá ninguno, lo unico es que no me muestra archivos y si me los muestra no me muestra todas las carpetas solo una.

No tiene ni pies ni cabeza pero bueno. Con tu ejemplo tiro para adelante ;)

Muchas gracias
  #4 (permalink)  
Antiguo 24/10/2009, 18:09
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Problema al listar carpetas y archivos

Por cierto,

¿Hay alguna manera para que la URL no quede tan corrompida?, después de un par de navegaciones para arriba, entrando en carpetas y demás... me queda algo así

http://dominio.com/listar.php?dir=./...secciones/ajax

Un saludo!
  #5 (permalink)  
Antiguo 24/10/2009, 18:13
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema al listar carpetas y archivos

puedes solucionarlo comparando la URL y buscando por ./ o bien, usando expresiones regulares... reemplazar todos los ./ por uno solo

suerte!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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 00:47.