Foros del Web » Creando para Internet » HTML »

mostrar contenido de directorios en navegador

Estas en el tema de mostrar contenido de directorios en navegador en el foro de HTML en Foros del Web. Hola amigos. Sigo a vueltas con este tema, ya que me parece importante, a ver si me podeis ayudar a solucionarlo. El objetivo es mostrar ...
  #1 (permalink)  
Antiguo 11/01/2012, 05:53
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 14 años, 11 meses
Puntos: 6
mostrar contenido de directorios en navegador

Hola amigos. Sigo a vueltas con este tema, ya que me parece importante, a ver si me podeis ayudar a solucionarlo.
El objetivo es mostrar en Explorer y Mozilla, el contenido del directorio C desde una pagina.
Si yo un navegador de los indicados copio en la barra de navegación: file:///c:/, me visualiza el contenido del directorio C (Esto es lo que hay que conseguir, pero, con enlaces).
Si creo una pagina, e inserto este código: <a href="file:///c:/">Entra en C</a>, visualizo la pagina y me sale el enlace, pero si pulso en el, no me muestra el contenido que me mostró cuando copié el código directamente en la barra de navegación, de hecho, en Mozilla no hace absolutamente nada y en Explorer, en una versión moderna, tampoco (en la 6 si funciona perfectamente, pero, claro, en la 6).
Por lo que tengo entendido (no se si correctamente) es un tema de seguridad de los navegadores, lo cual, puede ser hasta comprensible, pero claro, si estamos en una intranet, con muchos usuarios, muchos sitios diferentes y varias unidades de red, se me hace muy necesario poner enlaces del tipo que estamos comentando, y no me sirve con poner los archivos en el sitio web y acceder con http, puesto que hablamos de miles de archivos en miles de sitios.
Hasta ahora, no he podido encontrar ninguna solución al respecto, solo el tema de acceder mediante php a los directorios, pero no es lo que quiero por diferentes motivos.
Como estoy seguro de que tiene que haber alguna solución, a ver si alguno sabeis cual puede ser, para mostrarla aquí.

Gracias por vuestra ayuda. Un saludo.
  #2 (permalink)  
Antiguo 11/01/2012, 06:52
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: mostrar contenido de directorios en navegador

1 - PHP es un script del server, por lo tanto solo puede acceder a la estructura de directorios del servidor, no del cliente

2 - ¿que es exactamente lo que necesitas?: ¿compartir archivos intranet?, ¿has pensado en las VPN?, ¿compartir archivos locales (SAMBA en *nix)?
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 11/01/2012, 07:52
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 14 años, 11 meses
Puntos: 6
Respuesta: mostrar contenido de directorios en navegador

Hola. Lo que necesito es, mientras una persona navega en un sitio web de una intranet, ponerle un enlace para:

- Descargar archivos que esten en unidades de red (estas unidades son diferentes a la unidad donde esta el sitio web9

- Visualizar carpetas enteras en el navegador en las mismas condiciones anteriores.
  #4 (permalink)  
Antiguo 11/01/2012, 08:05
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: mostrar contenido de directorios en navegador

me parece un sharepoint
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 11/01/2012, 08:14
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 14 años, 11 meses
Puntos: 6
Respuesta: mostrar contenido de directorios en navegador

Lo siento, pero no te entiendo
  #6 (permalink)  
Antiguo 11/01/2012, 08:20
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: mostrar contenido de directorios en navegador

existen softwares llamados sharepoint, que puede que cumplan con tus requerimientos
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #7 (permalink)  
Antiguo 11/01/2012, 08:24
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 14 años, 11 meses
Puntos: 6
Respuesta: mostrar contenido de directorios en navegador

Ya, pero, ¿como es posible que, algo tan sencillo con lo que expliqué arriba, es decir, copiar file:///c:/ en el navegador y pulsar intro, no vamos a ser capaces de hacerlo por codigo, ya sea con php, javascript, html o con lo que sea.?

Seguro que tiene que existir una forma relativamente sencilla, igual que funcionaba con ie6.
  #8 (permalink)  
Antiguo 11/01/2012, 08:34
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: mostrar contenido de directorios en navegador

si leíste lo que te indique php se ejecuta del lado del servidor, ¿como puede éste extraer archivo de otros servidores?: a lo sumo que tengan un FTP instalado y lo coordines con un server central = sharepoint
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #9 (permalink)  
Antiguo 11/01/2012, 08:49
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 14 años, 11 meses
Puntos: 6
Respuesta: mostrar contenido de directorios en navegador

Si leí bien, por eso te dije que me da igual la tecnologia a usar, si php, javascript, o lo que sea, pero vamos, yo creo que tiene que ser algo mas sencillo que todo lo que estas planteando.
  #10 (permalink)  
Antiguo 11/01/2012, 10:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: mostrar contenido de directorios en navegador

Como te dicen desde PHP no vas a poder hacerlo, y dudo que con Javascript, pero te muevo a un foro a ver si te pueden resolver lo del enlace.
  #11 (permalink)  
Antiguo 11/01/2012, 11:06
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 14 años, 11 meses
Puntos: 6
Respuesta: mostrar contenido de directorios en navegador

Bueno, a ver si hay suerte. Creo que le puede servir a mucha gente.
  #12 (permalink)  
Antiguo 11/01/2012, 14:17
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: mostrar contenido de directorios en navegador

Si estás en una Intranet, asumo que tenes montado un webserver, si usas Apache, la cosa es muy simple (no se con IIS)

Creas un alias en tu localhost

Código Apache:
Ver original
  1. Alias /unidadc"c:/"
  2.     <Directory "c:/">
  3.     AllowOverride None
  4.     Options +indexes
  5.     Order allow,deny
  6.     Allow from all
  7. </Directory>

Con tipear http://localhost/unidadc, ahi va a estar diponible el contenido de la unidad C: donde este corriendo el Apache (tambien será accesible desde las otrtas máquinas de tu red), por supuesto muy seguro no es, pero eso es otra cosa.
Tampoco se si se puede hacer a letras de unidad mapeadas

Lo que no entiendo es porque hacerlo así, con compartir carpetas en la red bastaría.
El protocolo file:// funciona solo en la máquina local y según el navegador, FF te despliega la lista de archivos, IE, te abre el explorador

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #13 (permalink)  
Antiguo 11/01/2012, 15:54
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 14 años, 11 meses
Puntos: 6
Respuesta: mostrar contenido de directorios en navegador

Gracias, gracias, gracias, por fin algo de donde partir (estaba seguro de que no podia ser tan dificil). Te comento varias cosas.

- En tu codigo, falta un espacio cuando declaras el alias entre unidadc y la comilla, a mi por lo menos sin ese espacio, apache no me arrancaba.

- El motivo de hacerlo así es porque, todo el mundo que navega en la intranet esta conectado a las unidades de red, pero ya que es un entramado bastante complicado y no todos tienen que sabes donde estan todos los archivos, la idea es poner enlaces para facilitar la navegacion.

- Dicho esto, he probado tus instrucciones y en C funciona perfecto (en IE y FF), tanto para ver el directorio entero, para para descargar cualquier archivo que en el se encuentre con: <a href="http://localhost/unidadc/aaa.xls">pulsa aqui...</a>

- En cuanto a las unidades mapeadas, mañana te contaré a ver si funciona, porque esa es la gran prueba, si no fuera así, a ver si encontramos una solucion.

- Fijate que tengo en mi apache creados varios virtualhost con varios dominios, para a la hora de entrar en un sitio, en vez de poner localhost/noseque, con poner noseque entra en el sitio, y bueno, la verdad así no lo he probado, pero es posible que tambien funcione con virtualhost como con alias, como tu has indicado.

Bueno, mañana te cuento a ver que tal con las unidades de red.

De verdad que muchas gracias, me has sido de gran ayuda.
  #14 (permalink)  
Antiguo 11/01/2012, 17:45
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: mostrar contenido de directorios en navegador

Si, es cierto, me comi el espacio en esa primera línea.
una vez que te funcione, podés usar php, y readdir() para filtrar contenido a mostrar (yo jamás expondría la carpeta Windows, por ejemplo).
En cuanto al acceso de las demás máquinas de la Red, siempre es conveniente crear virtualHosts para diferenciar el contenido
Bueno contame lo de las unidades mapeadas
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #15 (permalink)  
Antiguo 12/01/2012, 03:23
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 14 años, 11 meses
Puntos: 6
Respuesta: mostrar contenido de directorios en navegador

Hola, pues te cuento.

Poniendo esto

Alias /unidadg "g:/"

<Directory "g:/">
AllowOverride None
Options +indexes
Order allow,deny
Allow from all
</Directory>

Me sale este mensaje

You don't have permission to access /unidadg on this server.

Aqui ya me pierdo un poco.
  #16 (permalink)  
Antiguo 12/01/2012, 05:16
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: mostrar contenido de directorios en navegador

Bueno, yo poniendo esto

Código Apache:
Ver original
  1. Alias /udg "g:/"
  2.     <Directory "g:/">
  3.     AllowOverride None
  4.     Options +indexes
  5.     Order allow,deny
  6.     Allow from all
  7. </Directory>

si puedo acceder al contenido de G:\ usando localhost/udg o cualquier otro virtual host (tengo + de 20) utilizando http://xxx.xxx/udg.
Pregunto, esa G: es alguna unidad de red de las que mapeaste?, o está en la PC dónde está el Apache ?

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #17 (permalink)  
Antiguo 12/01/2012, 05:23
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 14 años, 11 meses
Puntos: 6
Respuesta: mostrar contenido de directorios en navegador

Hola.

Esa unidad de red (hay varias) son unidades mapeadas en mi pc, a las cuales puedo acceder y abrir archivos (que es lo que quiero hacer con los enlaces). El apache está en mi pc.

Un saludo.
  #18 (permalink)  
Antiguo 12/01/2012, 05:33
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: mostrar contenido de directorios en navegador

Fijate que no es que no la encuentre , sino que deniega el acceso.
Además leyendo la Doc de Apache encontré esto

Configuring Access to Network Resources

Access to files over the network can be specified using two mechanisms provided by Windows:
Mapped drive letterse.g., Alias /images/ Z:/UNC pathse.g., Alias /images/ //imagehost/www/images/
Mapped drive letters allow the administrator to maintain the mapping to a specific machine and path outside of the Apache httpd configuration. However, these mappings are associated only with interactive sessions and are not directly available to Apache httpd when it is started as a service. Use only UNC paths for network resources in httpd.conf so that the resources can be accessed consistently regardless of how Apache httpd is started. (Arcane and error prone procedures may work around the restriction on mapped drive letters, but this is not recommended.)


Example DocumentRoot with UNC path

DocumentRoot //dochost/www/html/


Example DocumentRoot with IP address in UNC path

DocumentRoot //192.168.1.50/docs/

Example Alias and corresponding Directory with UNC path

Alias /images/ //imagehost/www/images/

<Directory //imagehost/www/images/>
...
<Directory>

When running Apache httpd as a service, you must create a separate account in order to access network resources, as described above.


Es decir, la config es correcta, probá de desinstalar el servicio de Apache (por defecto se hace con httpd.exe -k uninstall ), y arrancarlo desde la linea de comandos (podés poner un acceso en la carpeta inicio para automatizarlo), o si estás usando Xampp, en el control panel destida la casilla svc.

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #19 (permalink)  
Antiguo 12/01/2012, 05:42
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 14 años, 11 meses
Puntos: 6
Respuesta: mostrar contenido de directorios en navegador

Hola, uso Wamp. Imagino que a lo que te refeires es a que cierre wamp, y abra directamente el apache desde el directorio bin, el archivo ApacheMonitor.exe, es así?
  #20 (permalink)  
Antiguo 12/01/2012, 05:53
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: mostrar contenido de directorios en navegador

Apache se puede ejecutar de dos maneras diferentes,

Como un servicio de Windows
ó
desde la linea de comandos.

Si está instalado como servico se está ejecutando en segundo plano (incluso es posibleque el servicio esté instalado, pero detenido)
Verificalo yendo a inicio/ejecutar
y ejecutá

services.msc
se te abre la lista de servicios instalados en Windows (esten o no ejecutandose)
si ahi aparece Apache, Apache2, Httpd, generalmente es uno de esos los nombres (no te lo puedo confirmar porque justamente yo no lo instalo como servicio) . Le haces doble click y si está iniciado le das a "detener", cuando se halla detenido, vas a apache2/bin por consola y ejecutas
httpd.exe -k uninstall
Una vez desinstalado, lo podes iniciar con
doble click en httpd.exe (o crear un acceso directo en inicio/todos los programas/inicio) para que te arranque con Windows

Se entiende?

__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #21 (permalink)  
Antiguo 12/01/2012, 06:06
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 14 años, 11 meses
Puntos: 6
Respuesta: mostrar contenido de directorios en navegador

Hola. Gracias por tomarte tantas molestias.

He seguido tus pasos y te cuento.

En los servicios, no habia nada respecto a apache o a wamp con apache.

he accedido por consola al directorio y he ejecutado el comando. me ha salido este mensaje:

el sistema no puede hallar el archivo especificado: No istalled service name "Apache 2.2".

Despues lo he arrancado como me has dicho y me sigue dando el mismo error

You don't have permission to access /unidadg on this server.
  #22 (permalink)  
Antiguo 12/01/2012, 06:17
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: mostrar contenido de directorios en navegador

Entonces el problema está en alguno de tus conf, habría que investigar.
Yo uso o bien una instalación individual de apache, o xampp, nunca usé Wamp y no se que restricciones pueda tener.
Pero lo que queres hacer se puede perfectamente

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #23 (permalink)  
Antiguo 12/01/2012, 08:40
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 14 años, 11 meses
Puntos: 6
Respuesta: mostrar contenido de directorios en navegador

Hola de nuevo. Te comento.

He probado con Easyphp, tampoco funciona. He probado en un servidor que tengo, donde esta instalado apache solo, y tampoco.

Pero....., he instalado xamp y lo he iniciado como tu me has comentado, es decir, marcando el Svc y efectivamente, tal y como tu comentabas, funciona. Enhorabuena, tenías toda la razón.

Ahora bien, voy a empezar a investigar a ver porque en estas condiciones si funciona y en las otras no. Si tu te enteras o descubres algo, lo comentamos, ok?.

Gracias. Un saludo.
  #24 (permalink)  
Antiguo 13/01/2012, 11:46
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 14 años, 11 meses
Puntos: 6
Respuesta: mostrar contenido de directorios en navegador

Hola. Bueno, como dije, he estado investigando sobre este tema y mis conclusiones son las siguientes:

Se puede arrancar en cualquier apache, es decir, tanto uno instalado solo, o uno instalado con algun programa tipo Xampp o Wamp. La clave fundamente es arrancarlo como esplicó emprear, si se arranca de esa forma, funcionará lo explicaro en este foro.

Un saludo.
  #25 (permalink)  
Antiguo 13/01/2012, 12:30
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: mostrar contenido de directorios en navegador

@AitorLopez

En realidad, después de releer la doc de Apache, creo que hay algo que no interpreté bien.

Para que funcione estando como servicio (es decir tildando "svc" en el panel de control de xampp), justamente NO hay que asignar, mapear las carpetas de la red asignandoles letra de unidad, lo que hay que hacer es poner la ruta en formato UNC

suponiendo que apache corre en 192.168.0.10 (nombre del PC = pc1)
y en otra PC de la red, 192.168.0.20 (nombre del pc = pc2) hay una carpeta compartida en, x:\www, tendrias que definir un docuent_root o alias en apache para esa carpeta como

//192.168.1.20/www/

ó

//pc2/www/

Siempre y cuando, no hayas cambiado el "nombre del recurso compartido" de windows en la Pc2

Te dejo a vos probarlo, de funcionar, puede ser u´til para aquellos que prefieren usar apache como servicio.

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #26 (permalink)  
Antiguo 13/01/2012, 12:40
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 14 años, 11 meses
Puntos: 6
Respuesta: mostrar contenido de directorios en navegador

Hola. Yo lo he probado en otros pc's, todos conectados en red a un servidor (intranet) y funciona en todos perfecto.

Por cierto, en Xampp, me funciona sin "tildar" svc, es posible que tenga que ver que, cuando lo instalas, te pregunta si quieres instalar apache como servicio, me imagino que por defecto no lo instala como servicio.

Un saludo.
  #27 (permalink)  
Antiguo 13/01/2012, 14:03
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: mostrar contenido de directorios en navegador

Puede ser, no recuerdo. yo no bajé nunca el instalador de Xampp, siempre bajo la versión zip, la cual solo hay que descomprimir y ejecutar el Control Panel, pero si lo hiciese, el checkbox svc debería aparecer tildado supongo.
Si apche está instalado como servicio (y con estatus de "iniciado"), no hace falta usar el botón start del contro panel de xampp, en definitiva son detalles, lo importante es que sabemos que se pueden usar carpetas de red ya sea para crear VirtualHosts ó directivas Alias en httpd.conf

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Última edición por emprear; 13/01/2012 a las 16:41 Razón: reemplazo iniciado2 x iniciado
  #28 (permalink)  
Antiguo 13/01/2012, 15:58
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 14 años, 11 meses
Puntos: 6
Respuesta: mostrar contenido de directorios en navegador

Desde luego, y por mi parte, gracias a ti. Me parece un tema muy importante.

Etiquetas: contenido, directorios, navegador, usuarios
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 09:01.