Ver Mensaje Individual
  #6 (permalink)  
Antiguo 25/01/2006, 01:34
Avatar de uamistad
uamistad
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 19 años, 4 meses
Puntos: 1
divide y vencerás

Hola man !

Creo que no sería necesario utilizar la librería GD. Con esta librería, sin embargo, podrías colocar las fotos con algunas marcas de agua para protegerla y que los clientes la puedan ver previamente, como lo hacen en photosphere.com

Pero de entrada, no es necesario, ya que lo que podrías mostrar para la compra, podría ser una versión pequeñita de la misma.

Ahora, suponiendo que tienes todas tus imágenes almacenadas en una carpeta, tú le podrías decir al cliente que se descargue la imagen de:

tudominio/imagenes/bushenpelotas.jpg

...pero eso sería darle la dirección física y no quieres eso, ¿cierto? Y mucho menos desearías que esa persona pusiera:

tudominio/imagenes/

... y que viera todas las imágenes sin haber pagado, ¿ok?

Entonces lo primero que tienes que hacer, es proteger esa carpeta y se me ocurren dos formas para hacerlo, la primera es utilizar el mod_rewrite pero será complicado si no has trabajado antes con esto (hay mucha info en el foro).

La segunda es ir a tu server y si trabajas con CPanel, por ahí me parece que hay una función para proteger carpetas, quizá lo encuentres como Prevent Hot-Linking o algo así.

Ya que conseguiste que las imágenes no sean descargables sabiendo su ruta real, ahora te fabricas un script en donde ya sea que tú le puedas mostrar al usuario la imagen que ha comprado y le digas que haga click botón derecho y se la baje o bien, en forma más profesional, un link para que se descargue la imagen directamente a su computadora, forzando la descarga en lugar de que sólo muestre el archivo.

Para ello puedes ocupar las cabeceras header.

Un ejemplo sería el siguiente, si tú tienes por ejemplo un documento PDF o una imagen pero no quieres que se visualice en el navegador sino que se obligue a la descarga, te puede funcionar algo como esto:

Código PHP:
$fichero="tuarchivo.pdf"//o con la extensión que quieras
header"Content-Type: application/octet-stream");
header"Content-Length: ".filesize($fichero));
header"Content-Disposition: attachment; filename=".$fichero.""); 
Ahora, para que el usuario sólo se pueda descargar las imágenes que ha comprado, entonces como no vas a poner la descarga directa, como esto:

Código HTML:
<a href="foto1.jpg">Foto 1</a>
<a href="foto2.jpg">Foto 2</a>
<a href="foto3.jpg">Foto 3</a> 
puedes hacer algo como esto:

Código HTML:
<a href="descargafotos.php?pic=foto1.jpg">Foto 1</a>
 <a href="descargafotos.php?pic=foto2.jpg">Foto 2</a>
 <a href="descargafotos.php?pic=foto3.jpg">Foto 3</a> 
Y para asegurarte de que el usuario tiene permiso de bajarse esa foto, dentro del script descargafotos.php puedes verificar (accediendo a una BD, probablemente) que el usuario activo tiene derecho a hacerlo, así que le das las cabeceras header y la descarga estará hecha. Si no tiene permiso, pues le mandas un mensaje de error, diciéndole que no tiene permiso.

Si sólo quieres que se descarguen una vez, al momento que consultas la base de datos, incrementa algún contador para que sepas eso, te ayudaría leer el post: http://www.forosdelweb.com/f18/controlar-que-usuario-descarga-archivo-364323/

Con respecto al cobro mediante tarjetas y automatizar todo el negocio, no sé mucho al respecto, ojalá alguien pueda opinar, el tema me interesa bastante a mí también y estaré pendiente.

Un saludo.