Foros del Web » Programando para Internet » PHP »

Abrir carpeta fuera de htdocs

Estas en el tema de Abrir carpeta fuera de htdocs en el foro de PHP en Foros del Web. Buenos días, Espero que alguien pueda ayudarme, llevo bastante tiempo haciendo multitud de pruebas y no he conseguido nada. Os explico lo que quiero hacer: ...
  #1 (permalink)  
Antiguo 05/07/2007, 05:49
 
Fecha de Ingreso: abril-2004
Mensajes: 42
Antigüedad: 20 años
Puntos: 0
Abrir carpeta fuera de htdocs

Buenos días,

Espero que alguien pueda ayudarme, llevo bastante tiempo haciendo multitud de pruebas y no he conseguido nada. Os explico lo que quiero hacer:

He instalado el xampp en un servidor y funciona todo correctamente. El problema surge cuando quiero enlazar desde una página php a una carpeta del ordenador que se encuentra fuera de htdocs, en otro disco duro, por ejemplo, y que se abra como una carpeta de windows.

¿Alguien lo ha hecho? ¿Puede explicarme como?

Pagazauskas
  #2 (permalink)  
Antiguo 05/07/2007, 08:12
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: Abrir carpeta fuera de htdocs

Por más que el servidor esté en tu máquina, hay que diferenciar el entorno "remoto" y el entorno "local". El servidor no sabe más del sistema de archivos de lo que le configuraste como raíz. Al menos en lo que a peticiones HTTP se refiere.
En el entorno "local" (un enlace tipo file:// por ejemplo), el hecho de que el navegador abra o no el explorador de windows al hacer clic en un enlace como ese depende únicamente de su configuración, no es algo que se pueda modificar con una página php o html.

¿Qué es lo que necesitás hacer? quizás haya alguna solución por otro lado...

Saludos.
  #3 (permalink)  
Antiguo 05/07/2007, 08:38
 
Fecha de Ingreso: abril-2004
Mensajes: 42
Antigüedad: 20 años
Puntos: 0
Re: Abrir carpeta fuera de htdocs

Gracias por tu respuesta. ¿Igual cambiando la configuración del explorer o mozilla se podría hacer que abra directorios externos a htdocs? Lo voy a intentar.

Muchas gracias
  #4 (permalink)  
Antiguo 05/07/2007, 08:43
 
Fecha de Ingreso: abril-2004
Mensajes: 42
Antigüedad: 20 años
Puntos: 0
Re: Abrir carpeta fuera de htdocs

He estado mirando la configuración del explorer pero no he encontrado nada, ¿me podriais dar alguna pista de como hacerlo?

Gracias
  #5 (permalink)  
Antiguo 05/07/2007, 08:57
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Abrir carpeta fuera de htdocs

Alvin te dio la respuesta puedes usar el protocolo file:// y apuntas a la carpeta o el directorio, este se abrira en Explorer o dependiendo del Sistema Operativo, para eso es el protocolo file://.

ej:
Código HTML:
<a href="file://c:/">Abrir C:<a> 
Saludos.
  #6 (permalink)  
Antiguo 05/07/2007, 09:13
 
Fecha de Ingreso: abril-2004
Mensajes: 42
Antigüedad: 20 años
Puntos: 0
Re: Abrir carpeta fuera de htdocs

Muchas gracias por vuestra ayuda, pero no hay manera. He probado añadiendo el protocolo file en el código y el enlace deja de funcionar. Pincho sobre el y no hace nada absolutamente nada. ¿Puede ser por la configuración del ordenador o del explorer?

Gracias
  #7 (permalink)  
Antiguo 05/07/2007, 11:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Abrir carpeta fuera de htdocs

Que codigo estas utilizando?
  #8 (permalink)  
Antiguo 05/07/2007, 15:03
 
Fecha de Ingreso: abril-2004
Mensajes: 42
Antigüedad: 20 años
Puntos: 0
Re: Abrir carpeta fuera de htdocs

El enlace es algo tan simple como esto:

Código PHP:
<a href='file://D:/WEBS'>ABRIR</a
He probado con y sin 'file://' pero el resultado es el mismo, el enlace no funciona. Pincho encima y no hace nada.

¿Sabeis porque puede ser?

Gracias
  #9 (permalink)  
Antiguo 05/07/2007, 18:49
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: Abrir carpeta fuera de htdocs

Probá 3 barras, file:///D:/webs
o también file://localhost/d:/webs

saludos.
  #10 (permalink)  
Antiguo 05/07/2007, 19:11
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Re: Abrir carpeta fuera de htdocs

Cita:
El problema surge cuando quiero enlazar desde una página php a una carpeta del ordenador que se encuentra fuera de htdocs, en otro disco duro, por ejemplo, y que se abra como una carpeta de windows.
No entendí muy bien eso de "que se abra como una carpeta de windows".

Apache solamente te va a dar acceso directo a los archivos que se encuentren bajo el document root (htdocs). Desde ahí puedes manipular (leer/escribir) archivos que estén fuera, pero tiene que ser a través de este archivo que haga las veces de manejador.

Te pongo el peor de los ejemplos para que se entienda un poco mejor
Código PHP:
<?php
error_reporting
(E_ALL);

$archivourldecode($_GET['archivo']);

if(
file_exists($archivo)){
    
readfile($archivo);
}else{
    die(
'No se puede');
}
?>
Suponiendo que el archivo anterior se llama prueba.php, si accedes como:
http://localhost/prueba.php?archivo=...esta_fuera.txt

podrás ver el archivo.

Saludos,
  #11 (permalink)  
Antiguo 05/07/2007, 23:45
 
Fecha de Ingreso: abril-2004
Mensajes: 42
Antigüedad: 20 años
Puntos: 0
Re: Abrir carpeta fuera de htdocs

Buenos días,

He probado con el script de jpinedo, pero creo que solo sirve para abrir archivos. Yo concretamente lo que quiero es una abrir una carpeta para ver los archivos que contiene.

Me da el siguiente error:

Código PHP:
NoticeUndefined indexarchivo in C:Archivos de programaxampphtdocssipheader.php on line 28
No se puede 
Lo que estoy intentado es abrir una carpeta, por ejemplo, D:/PROFESORES.

También probe con file:/// y file://localhost/ pero sigue sin funcionar.

¿Creeis que es posible lo que intento?

Muchas gracias
  #12 (permalink)  
Antiguo 06/07/2007, 05:49
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Re: Abrir carpeta fuera de htdocs

Cita:
Iniciado por pagazauskas Ver Mensaje
Yo concretamente lo que quiero es una abrir una carpeta para ver los archivos que contiene.
A ver si entiendo:
- Quieres poder mostrar una lista con los archivos de una determinada carpeta.

Basta con utilizar readdir()
Código PHP:
<?php
error_reporting
(E_ALL);

// Acá pones la carpeta que quieres leer
$carpeta 'E:\appserv';
if (
$gestor opendir($carpeta)) {
    while (
false !== ($archivo readdir($gestor))) {
        if (
$archivo != "." && $archivo != "..") {
            echo 
"$archivo\n";
        }
    }
    
closedir($gestor);
}
?>
Saludos,
  #13 (permalink)  
Antiguo 06/07/2007, 07:41
 
Fecha de Ingreso: abril-2004
Mensajes: 42
Antigüedad: 20 años
Puntos: 0
Re: Abrir carpeta fuera de htdocs

Hola de nuevo,

Ya lo siento dar tanto la tabarra. El código funciona perfectamente. Pero mi problema es que quiero que el usuario abra la carpeta que se muestra en la consulta. Y que esa carpeta se abra, no mediante internet explorer, sino con el explorador de carpetas de windows.

Muchas gracias
  #14 (permalink)  
Antiguo 06/07/2007, 20:12
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Re: Abrir carpeta fuera de htdocs

Bueno, lo más sencillo es instalar un servidor ftp y darle acceso a su carpeta. El explorador de windows también funciona como cliente ftp, así que no habrá problemas.

saludos,
  #15 (permalink)  
Antiguo 10/07/2007, 00:22
 
Fecha de Ingreso: abril-2004
Mensajes: 42
Antigüedad: 20 años
Puntos: 0
Re: Abrir carpeta fuera de htdocs

Hola jpinedo,

Soy un poco novato en esto de montar servidores y tengo algunas dudas al respecto.

- Por una parte, entiendo que tengo que instalar un servidor ftp en el servidor. El xampp por defecto instala el filezilla, por lo que esa parte la tendría resuelta.

- ¿Como tendría que darle acceso? ¿de donde a donde? No lo entiendo. He visto que hay algunas funciones para abrir directorios ftp mediante php, creo que poniendo ftp:// en el enlace. ¿Es así como tengo que hacerlo? ¿Enlazando a la carpeta en la que esta instalado el servidor?

Muchas gracias
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 04:09.