Ver Mensaje Individual
  #8 (permalink)  
Antiguo 20/04/2007, 22:38
Gustavo_AR
 
Fecha de Ingreso: septiembre-2006
Ubicación: Argentina
Mensajes: 190
Antigüedad: 17 años, 7 meses
Puntos: 1
Re: Mostrar Imagen sin permitir identificar ruta.

Podes generar una imágen temporal y mostrarla. Te pueden robar la foto pero no ver donde está la original.

Cuando subíes las fotos, almacenás en una tabla el nombre, la ruta y algunos datos mas de tu interés, para diferenciar la foto. Cuando alguien quiere ver la imágen lo mandás de la siguiente manera: misitio.com/ver.php?id=34343

Cuando hagan click en propiedades, sobre la foto con boton derecho, van a ver la ruta de la imagen temporal que generas en el archivo ver.php. Lo ideal es que la generes y al final del script la destruyas para que no ocupe lugar.

En el script, deberías hacer una consulta a la db solicitando la ruta de la imagen segun el id que agarrás por get:
Código:
$id = $_GET['id'];
$sql = "SELECT * FROM imagenes WHERE id = '$id'";
luego, haciendo la consulta completa, tomas el campo donde esta guardada la ruta de la imagen y la ponés en la variable $imagen por ejempo. Continúa así:

Código PHP:
<?php
$imagen 
$consulta['ruta']; // el campo de la ruta en la consulta

$ext substr($imagen, -3); //busca extensión

if(strtolower($ext) == "gif") { //si en gif, crea la imagen, sino sigue. 
if (!$im2 imagecreatefromgif($imagen)) { //si es gif y no puede crear, muestra error
echo "Hubo un error al abrir la imagen $imagen"; exit;
}
}else if(
strtolower($ext) == "jpg") {
if (!
$im2 imagecreatefromjpeg($imagen)) {
echo 
"Hubo un error al abrir la imagen $imagen"; exit;
}
} else if(
strtolower($ext) == "png") {
if (!
$im2 imagecreatefrompng($imagen)) {
echo 
"Hubo un error al abrir la imagen $imagen"; exit;
}
} else {
die;

//muestra la imagen

header("Content-Type: image/jpeg");
imagejpeg($im2); //muestra la imagen final
imagedestroy($im2);
?>
__________________
Gustavo