Foros del Web » Programando para Internet » PHP »

ocultar la ruta de la imagen

Estas en el tema de ocultar la ruta de la imagen en el foro de PHP en Foros del Web. Buenas, como puedo ocultar una imagen en php. Como en facebook o tuenti, cuando le das a guardar como, se descarga un html que siemrpe ...
  #1 (permalink)  
Antiguo 02/02/2010, 08:44
nfo
 
Fecha de Ingreso: octubre-2008
Ubicación: EsPaCiO TiEmPo
Mensajes: 408
Antigüedad: 15 años, 6 meses
Puntos: 5
ocultar la ruta de la imagen

Buenas, como puedo ocultar una imagen en php.

Como en facebook o tuenti, cuando le das a guardar como, se descarga un html que siemrpe esta vacio.

saludos.
  #2 (permalink)  
Antiguo 02/02/2010, 09:17
Avatar de Fleon  
Fecha de Ingreso: febrero-2010
Mensajes: 138
Antigüedad: 14 años, 2 meses
Puntos: 3
Respuesta: ocultar la ruta de la imagen

Pues creo que deberás hacer uso de Javascript para esos fines.

Saludos.
  #3 (permalink)  
Antiguo 03/02/2010, 14:51
nfo
 
Fecha de Ingreso: octubre-2008
Ubicación: EsPaCiO TiEmPo
Mensajes: 408
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: ocultar la ruta de la imagen

una vez vi un script que lo que hacia era llamar a un fichero php del cual el mostraba la imagen... pero no lo encuentro ....
  #4 (permalink)  
Antiguo 03/02/2010, 15:23
mleonardom
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ocultar la ruta de la imagen

Esto no es un gif, es un php con modificacion en el mime-type

Es decir, la peticion se esta procesando mediante php, el cual envia la razon de ser al navegador una imagen gif de 1x1 pixeles.

Les dejo un ejemplo usando php y mod_rewrite:

En el archivo .htaccess
Código htaccess:
Ver original
  1. RewriteEngine On
  2. RewriteRule ^__utm\.gif /scriptPHP.php [QSA]

Y en scriptPHP.php
Código PHP:
Ver original
  1. <?php
  2.   verificar_algo($_GET); // Esto podria ser analizar y registrar datos
  3.   header('Content-Type: image/gif');
  4.   readfile('1x1.gif');
  5. ?>

Espero te sea util esta informacion

Saludos
  #5 (permalink)  
Antiguo 03/02/2010, 15:30
nfo
 
Fecha de Ingreso: octubre-2008
Ubicación: EsPaCiO TiEmPo
Mensajes: 408
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: ocultar la ruta de la imagen

ese script no era el que yo vi, no usaba sentencia en el .htaccess

a ver si alguien lo a visto o l otiene .

Gracias
  #6 (permalink)  
Antiguo 03/02/2010, 16:14
nfo
 
Fecha de Ingreso: octubre-2008
Ubicación: EsPaCiO TiEmPo
Mensajes: 408
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: ocultar la ruta de la imagen

Ya encontre lo que necesito, para los uqe quieran.

Código:
Para mostrar las imágenes lo que haremos será leerlas con readfile y enviarlas al buffer de salida (imagen.php):

    <?php
    if ((isset($_GET['id_img'])) and (is_numeric($_GET['id_img'])))
    {
      if (comprobar_permisos($_GET['id_img']))
        $url=obtener_url('id_img');
      else
        $url='http://wwww.miweb.com/img/sinprivilegios.jpg';

      header("Content-type: image/jpg");
      readfile($url);
    }

    function comprobar_permisos($id_img)
    {
      /* Comprobamos contra la base de datos que el usuario actual tiene permisos
         sobre la imagen que le pasamos, devolviendo true o false */
    }

    function obtener_url($id_img)
    {
      // Se conecta a la base de datos y nos devuelve la url de la imagen
      return $url;
    }
    ?>

Este sencillo script nos generara una imagen pero no mostrará la url de la misma, ya que siempre mostrará como url: http://www.miweb.com/imagen.php?id_img=xxx. Para mostrar la imagen solo tendremos que hacer lo siguiente:

    <img src='http://www.miweb.com/imagen.php?id_img=xxx'>

Solo tenemos que Sustituir xxx por el id de la imagen que queramos mostrar. En la base de datos tendremos una tabla con los id's de las imágenes y sus urls correspondientes, así como otra tabla para guardar que usuarios tienen permisos sobre que imágenes.

Etiquetas: ruta
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 17:59.