Programación php
Email: Password:


¡Regístrate gratis! | ¿Has perdido tu password?

Home
Blog

En él que podrás informarte de todas las noticias relacionadas con el posicionamiento de páginas web.

Ir al Blog de posicionamiento web



Foro de programación en PHP

Responder el mensaje

acceder a carpeta fuera del DocumentRoot

Autor: kucob
Publicado: 23-4-2008 10:03 AM
Buenas, es mi primer post en este foro, me estoy iniciando en php y me gustaria hacerles una consulta..

deseo listar el contenido de un directorio, que lo he puesto en /home/usuario, por que no quiero que esos archivos que estan dentro de la carpeta puedan ser descargados directamente, entonces, como puedo listar dicho directorio que se encuentra fuera del DocumentRoot? Les agradeceria una respuesta..
Autor: Natxo
Publicado: 23-4-2008 10:56 AM
Esto es un pelín peligroso, pero bueno...

<?php
$ruta="/home/usuario";
function listar_directorios_ruta($ruta){
// abrir un directorio y listarlo recursivo
if (is_dir($ruta)) {
if ($dh = opendir($ruta)) {
while (($file = readdir($dh)) !== false) {
//esta línea la utilizaríamos si queremos listar todo lo que hay en el directorio
//mostraría tanto archivos como directorios
//echo "<br>Nombre de archivo: $file : Es un: " . filetype($ruta . $file);
if (is_dir($ruta . $file) && $file!="." && $file!=".."){
//solo si el archivo es un directorio, distinto que "." y ".."
echo "<br>Directorio: $ruta$file";
listar_directorios_ruta($ruta . $file . "/");
}
}
closedir($dh);
}
}else
echo "<br>No es ruta valida";
}

listar_directorios_ruta($ruta);
?>
Autor: kucob
Publicado: 23-4-2008 12:33 PM
te agradezco la respuesta, el codigo me ha servido de mucho, aparte he tenido que poner el Open BaseDir a OFF, para poder acceder a esa carpeta, porque me salia "is not within the allowed path(s)", pero bueno, gracias de nuevo y ya esta solucionado el tema.