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);
?>