Foros del Web » Programando para Internet » PHP »

PHP OO Leer archivo remoto ubicado fuera de la carpeta public

Estas en el tema de Leer archivo remoto ubicado fuera de la carpeta public en el foro de PHP en Foros del Web. Hola, soy nuevo aca, aunque muchas veces, buscando solucionas a problemas, he llegado a esta pagina. Ahora me he decidido a participar en la misma, ...
  #1 (permalink)  
Antiguo 26/05/2013, 12:43
 
Fecha de Ingreso: mayo-2013
Mensajes: 3
Antigüedad: 11 años, 5 meses
Puntos: 0
Pregunta Leer archivo remoto ubicado fuera de la carpeta public

Hola, soy nuevo aca, aunque muchas veces, buscando solucionas a problemas, he llegado a esta pagina. Ahora me he decidido a participar en la misma, porque me urge una dificultad que se me ha presentado y para la que no encuentro respuesta ni en español ni en ingles por mucho que quemo el google.

La cuestion es que un cliente me ha pedido que los archivos que el suba al sitio que le estoy haciendo, queden ubicados fuera de la carpeta publica, ya que segun el contienen informacion muy sensible y no quiere que esten en la carpeta en la que se aloja el sitio.

Me resulta algo dificil explicarlo ya que nunca me habian pedido nada igual. Viene siendo algo asi:

En el servidor, hay una carpeta, a veces llamada public html, a veces llamada www, etc, que es donde se alojan los archivos de la web. Normalmente cualquier archivo (imagen, pdf, zip, multimedia..) que uno desea que esten disponible en la red, los ubica ahi. Bueno, este cliente se ha empeñado en que queden ubicados en otra carpeta y no en la publica, lo cual esta muy bien cuando efectuo el primer paso de hacer el upload con php. Puedo ubicarlo donde yo quiera en el servidor.

El problema es cuando intento leer ese archivo desde el lado cliente, ya que al no estar en la carpeta publica de nada vale que coloque en el src de una imagen por ejemplo ni ruta relativa ni absoluta.

Me gustaria saber si lo que pide ese cliente es posible hacerlo, si puedo leer desde el lado cliente un archivo ubicado fuera de la carpeta publica en el servidor, y que es lo que tendria que poner en el src de la imagen en este caso, algo quizas como?

src="file://server/etc/image.jpg"

De antemano muchas gracias por la ayuda que me puedan brindar
  #2 (permalink)  
Antiguo 26/05/2013, 12:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Leer archivo remoto ubicado fuera de la carpeta public

Si es posible pero no de manera directa, necesitas algún medio que sirva de interlocutor entre la petición pública y el recurso privado.

Lo más sencillo sería usar un script para controlar esto, tipo: get.php?file_id=55 dónde tu debes tener en una tabla de preferencia dichos ID haciendo referencia a los archivos reales.

Dicho script ejecuta una consulta y lee el archivo para enviarlo a continuación.

¿Se entiende la idea?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 26/05/2013, 13:01
 
Fecha de Ingreso: mayo-2013
Mensajes: 3
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Leer archivo remoto ubicado fuera de la carpeta public

Que significa de manera no directa? Que no puedo usar la ruta que leo con php desde html en el atributo src de la etiqueta img?

src="¿que escribo aqui?"
  #4 (permalink)  
Antiguo 26/05/2013, 13:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Leer archivo remoto ubicado fuera de la carpeta public

Si los archivos está fuera de la carpeta pública entonces no puedes enlazarlos de manera directa, a eso me refiero, ¿o eso no ya había quedado claro?

Así que para acceder a dichos archivos debes hacer algo así:

Código HTML:
Ver original
  1. <img src="get.php?file_id=99">

Pero claro que necesitas programar dicho script para que así suceda.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 26/05/2013, 13:31
 
Fecha de Ingreso: mayo-2013
Mensajes: 3
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Leer archivo remoto ubicado fuera de la carpeta public

Creo que entiendo. En el archivo get.php coloco el codigo con el que leo la imagen. Lo probare, gracias.

Etiquetas: cliente, public, servidor
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 12:19.