Nueva pregunta

Pregunta:

Fecha: 22-10-2016 08:44:39 (En Español)

¿Cómo puedo tomar una captura de pantalla y guardarlo en mi base de datos al agregar un registro?[No resuelta]

¿Cómo puedo tomar una captura de pantalla y guardarlo en mi base de datos al agregar un registro?
Etiquetas: Base de Datos - Desarrollo - MySQL - PHP - PHP Avanzado - Pregunta - Web Votos: 0 - Respuestas: 2 - Vistas: 12 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 22-10-2016 17:13:54 Estimado Kevin:

    Para grabar imágenes en una base de datos MySQL tienes que tener siempre en cuenta el crecimiento de tus datos, y por supuesto la disponibilidad de tu espacio, tienes dos formas de grabar o guardar las imágenes:

    1- directamente en la tabla, (la cual crecera descomunadamente segun el movimiento) utilizando tipos de datos como LongBlob o LongText o bien MediumBlob o MediumText, segun sea el tamaño o peso que tenga cada imagen.
    MediumBlob y MediumText: un texto con un máximo de 16.777.215 caracteres.

    LongBlob y LongText: un texto con un máximo de caracteres 4.294.967.295. Hay que tener en cuenta que debido a los protocolos de comunicación los paquetes pueden tener un máximo de 16 Mb.

    2 - crear una tabla con un campo varchar que contenga la direccion de tu imagen, la cual debería estar ubicada en un directorio o carpeta de tu disco duro, personalmente yo me inclino por esta principalmente por evitar el riesgo de que la tabla pueda convertirse en corrupta por el crecimiento.

    la captura de la pantalla lo haces con javascript o jquery ejecutando el codigo antes de grabar el registro, ya sea que lo direcciones al porta-papeles o bien a un archivo fisico en un area temporal del cliente, el cual servira para subir la imagen utilizando $_FILES que provee PHP

    un par de ejemplos de captura de pantalla (aunque el oraculo puede darte muchos más ejemplos):
    http://blog.tednologia.com/generar-captura-pantalla/
    http://www.summarg.com/2015/captura-de-pantalla-selectiva-con-html2canvas/

    por último, permiteme darte un par de consejos:

    - evalua el espacio disponible para guardar tus imagenes
    - calcula el tamaño de cada imagen (el cual puede manipular con jquery, javascript o php)
    - determina si puedes vaciar los espacios de almacenaje de imagenes en caso de necesidad o bien crear un DataWareHouse.
    - calcula el número de usuarios que van a utilizar el proceso al mismo tiempo, esto puede influir mucho en tu ancho de banda de subida o bien en el esfuerzo del hosting
    - sino limitas el tamaño de la imagen (pantallazo) puede que cada cliente genere un tamaño diferente según configuraciones del S.O. del cliente.
    - utiliza un nombre generado por el sistema que permita no repetirse
    - si crees conveniente utiliza carpetas para dividir los pantallazos por ejemplo, diario, semanal, mensual de forma que puedas segmentar los riesgos.
    - verifica la configuracion de tu servidor apache, que permita subir tamaños y que los tiempos de espera o timeout no sean cortos, lo que puede provocar el rechazo del archivo.

    por último no intentes inventar el agua azucarada, en la nube puedes encontrar miles de ejemplos y scripts que pueden resolverte muchos problemas, y definitivamente inclinate por utilizar un framework, siempre sera más fácil y menos traumatico el manejo de tu aplicación, si me permites te recomiendo CodeIgniter un framework hecho para programadores que son creativos y les gusta mantener el control de sus aplicaciones al 100% utilizando código PHP nativo y sin aditivos.

    espero esto pueda ser de utilidad para resolver tu problema
    Saludos desde Guatemala.
      Votos: 2 - Link respuesta
     
  • Fecha: 24-10-2016 08:58:21 Gracias mi estimado (y), tomare encuenta tus fuentes (LINKS)   Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com