Ayuda php

Una duda, ya tengo un formulario de alta en donde te pide los datos generales, ahora me piden que tome una foto de una persona y la guarde en la BD, mi duda es si se puede hacer eso con php en una aplicación Web o se tiene que manejar en un modulo aparte en otro lenguaje de programación general como java, VB u otro lenguaje general, ya que me piden que al terminar el formulario de alta, aparezca un botón que diga tomar foto, de ahí te abra la aplicación y tome la foto y ahí la guarde en la Base de datos para posteriormente mostrarla en la pantalla de alta finalizada ( con todos los datos y la foto), quisierarecibir un consejo de como pudiera hacerlo gracias.
Respuesta
1
Para la primera parte necesitas un formulario con un control de tipo fichero en un formulario. Es importante que el formulario envíe por POST y con el enctype que indico a continuación :
<form name="formulario" method="post" enctype="multipart/form-data" action="tupagina.php">
<input type="file" name="imagen">
</form>
Esto permitirá al usuario escoger una imagen de su ordenador y enviarla con el formulario a 'tupagina.php' donde harás el tratamiento.
Cuando recibas el fichero en tupagina.php debes moverlo de donde se ha copiado temporalmente con:
<?php
move_uploaded_file($_FILES['imagen']['tmp_name'], 'tuimagen.gif');
?>
Ya tienes la imagen en tu servidor con el nombre 'tuimagen.gif' (podría ser también jpeg o tiff).
Ahora la segunda parte. Debes tener en tu tabla de la base de datos un campo BLOB que llamaremos imagen.
Suponiendo que ya lo hayas creado, debes hacer lo siguiente:
<?php
$imagen = imagecreatefromgif('tuimagen.gif');
// Si en lugar de gif se trata de una imagen jpg debes usar imagecreatefromjpeg
// Si en lugar de gif se trata de una imagen png debes usar imagecreatefrompng
?>
Ahora sólo tienes que asignar el valor de esa variable al campo BLOB de tu tabla y tendrás la imagen almacenada en la base de datos.
Para visualizarla deberás asignar el contenido del campo a una etiqueta de imagen HTML:
<?php
echo '<img src="/-/data:image/gif;base64,' . $imagen . '" alt="Foto">';
?>
Suponiendo que tuvieras en la variable $imagen los datos del campo BLOB.
Gracias por tu pronta respuesta, ahora mi duda es que si se puede tomar la foto desde la página del formulario, osea abriendo laplicacion desde el formulario con un botón que diga TOMAR FOTO, este botón abriría la aplicación para capturar la foto ( tipo licencia de conducir en donde te toman la foto al momento de tomar tus datos), ¿se puede hacer esto con php? O necesitaría trabajar el programa de tomar y cargar fotos al ordenador desde otro lenguaje de programación. Es que la verdad me están pidiendo un formulario de alta pero completísimo hasta que tome foto pero no se si se pueda hacer todo esto con php, a lo mejor con jsp si se pueda, pero pues decidí programar en php porque ya sabia algo de este lenguaje pero veo que igualmente tiene sus limitantes. Gracias espero su respuesta
Para tomar la foto necesitarás una cámara. Si la cámara es del tipo TCP/IP actuará como un servidor y te podrás poner en contacto con ella haciéndole solicitudes.
Aquí el secreto está en adquirir una cámara que permita este acceso, y luego no habrá problema en hacerlo desde PHP.
Gracias, una pregunta más, como se hace el autocompletar de un listbox, tipo youtube en donde pones buscar videos y solo te autocompleta según lo que buscas, por ejemplo si pones en el buscador de youtube la letra " a ", inmediatamente te asoman las opciones disponibles, espero no ser molesto por tantas preguntas y si tiene un código o un lugar para ver tutoriales de eso le agradecería mucho, gracias
El autocompletar sólo podrías hacerlo con alguna tecnología de cliente como Javascript o AJAX. Lo más adecuado supongo que sería usar AJAX, aunque puede ser un poco lento. Si lo que esperas es que reaccione rápido a cada tecla que se aprieta, creo que la única forma sería hacerlo en Javascript habiéndole pasado previamente un diccionario de palabras frecuentes.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas