Tratado de imágenes

Hola de ante mano gracias por tu tiempo, lo que me pasa es lo siguiente actualmente estoy desarrollando una aplicación en php y mysql todo esto bajo la plataforma de windows, en mi aplicación el usuario debe poder guardar imágenes por ejemplo una foto, no se como hacer esto en php y en la base de datos que tipo de campo seria para la imagen de igualmera como la llamaría para imprila en mi web, nuevamente gracias.
Respuesta
1
Lamento la demora. No se que le dio a mi servidor de correo que desde hace unos días empezó a cosiderar como spam a las notificaciones de todoexpertos.com... en fin
Para lo que quieres hacer, tienes 2 opciones; una fácil y otra más compleja (y como la idea es 'facilitar' las cosas, tomaremos la primera opción).
La idea es copiar las imágenes desde un formulario y manipularla con un script en php para meterla a un directorio. En la base de datos guardamos la ruta de la imagen para luego llamarla y mostrarla en la página que lo requiera.
El formulario que subirá la imagen se debe definir como "multipart/form-data" y tiene que incluir el campo input->file y llamará al script (upload.php) que procesará los datos:
<form name="miformulario" enctype="multipart/form-data" method="post" action="upload.php">
<input name="archivo" type="file" id="archivo" size="30">
</form>
Ok, tenemos el archivo en "stand by" esperando a ser procesado por el script.
Un ejemplo de upload.php (debidamente comentado) puede ser:
<?php
/*La seguridad es lo primero, verificamos si el tipo de archivo es una imagen en su
encabezado. Utilizamos la función eregi() para determinar si existen coincidencias en
la variable*/
if(!eregi("image/",$_FILES['archivo']['type'])) die ("archivo no valido");
/*Definimos donde vamos a guardar el archivo en una variable $destino */
$destino='directorio/subdirectorio/imagenes';
/* Guardamos el nombre original del archivo en una variable
$archivoup. Ojo, la primera posicion del array se llama 'archivo',
tal como la definimos en nuestro form, luego, 'name' es predefinido */
$archivoup=$_FILES['archivo']['name'];
/* Copiamos el archivo que está almacenado en el servidor (con un nombre temporal)
A nuestra carpeta y con su nombre original (variable $archivoup).
Además condicionamos si es que realmente el archivo se copió con éxito a nuestra carpeta,
por eso la instrucción la generamos dentro de una condición IF*/
if(!copy($_FILES['archivo']['tmp_name'], $destino.'/'.$_FILES['archivo']['name']) ) echo "Error al procesar el archivo (no subí)";
else echo "El archivo $archivoup ha subido exitosamente";
?>
Puedes utilizar las variables de este script para insertar nuevos registros a la base de datos indicando la ruta del archivo. Estas instrucciones mysql corren por tu cuenta, pero si necesitas algo más de luz, házmelo saber.
La segunda opción es subir la imagen a un camplo blob de mysql y con esto almacenarla en la base de datos.
Este proceso es más largo de explicar, pero te podría recomendar las siguientes URLs
*Para guardar la imagen:
http://www.buayacorp.com/archivos/guardar-una-imagen-y-su-miniatura-a-un-campo-blob-de-mysql/
*Para mostrarla:
http://www.buayacorp.com/archivos/mostrar-una-imagen-desde-blob-mysql-usando-php/
Espero te sirva y por supuesto, no olvides calificar y cerrar esta pregunta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas