Comunidad de diseño web y desarrollo en internet online

ENVIARFOTO MEDIANTE FORMULARIO, REDUCIR Y GRABAR EN MySQL

Citar            
MensajeEscrito el 13 May 2012 05:15 pm
Estimados amigos: :)

Tengo el siguiente código que se baja de PHP.net y funciona correctamente cuando tienes alojada la fotografía en el directorio....

Código PHP :

<?php
// El archivo
$nombre_archivo = 'prueba.jpg';

// Establecer un ancho y alto máximo
$ancho = 400;
$alto = 350;

// Tipo de contenido
header('Content-Type: image/jpeg');

// Obtener las nuevas dimensiones
list($ancho_orig, $alto_orig) = getimagesize($nombre_archivo);

$ratio_orig = $ancho_orig/$alto_orig;

if ($ancho/$alto > $ratio_orig) {
$ancho = $alto*$ratio_orig;
} else {
$alto = $ancho/$ratio_orig;
}



// Redimensionar
$image_p = imagecreatetruecolor($ancho, $alto);
$image = imagecreatefromjpeg($nombre_archivo);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $ancho, $alto, $ancho_orig, $alto_orig);

// Imprimir
imagejpeg($image_p, null, 100);
?>


Me gustaría que alguien me comentara, como puedo hacer lo mismo enviando la fotografía mediante un formulario con el habitual campo tipo (file) y que el resultado de la fotografia modificada se pueda grabar el en una Bd Mysql tipo campo BLOQ.

Gracias

Por FJPL

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 May 2012 08:58 pm
Para tomar el archivo que te envía el visitante de tu sitio debes acceder al array $_FILES.

Por otro lado tengo que advertirte que no es conveniente que almacenes el archivo en un campo de la DB. Tu base de datos puede crecer exponencialmente retrasando las operaciones y agotando la capacidad de la misma.

Es mejor que solo almacenes el nombre del archivo, asignes un directorio en tu hosting para almacenar en disco el archivo y luego crear los tags <img> apuntando a ese directorio.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 14 May 2012 07:41 pm

DriverOp escribió:

Para tomar el archivo que te envía el visitante de tu sitio debes acceder al array $_FILES.

Por otro lado tengo que advertirte que no es conveniente que almacenes el archivo en un campo de la DB. Tu base de datos puede crecer exponencialmente retrasando las operaciones y agotando la capacidad de la misma.

Es mejor que solo almacenes el nombre del archivo, asignes un directorio en tu hosting para almacenar en disco el archivo y luego crear los tags <img> apuntando a ese directorio.


Agradezco comentario...

No sé si seria posible poner un pequeño ejemplo.... del uso de esta variable global. $_FILES para pasar la información del fichero y como tratarla en el código anterior.....

He visto muchos ejemplos en Internet... pero ninguno trata este tema en concreto con profesionalidad y prefiero moverme a partir de un ejemplo sencillo.

También posteriormente me gustaría que cualquier tipo de fotografía Gif, Png, Bmp se pasara reducida a .jpg para grabarla en la Bd ya reducida.

En cuanto a la Bd... tienes razón, pero como los archivos fotográficos no van a ser estables si no que desearía poder editar una foto, o poder borrarla... me parece mejor la Bd.

Creo que MySQL a la hora de acceder a la lectura de datos es rápido... (Conozco Bd de mas de 2500 fotos y funcionan correctamente ) aunque a la hora de grabar sea más lento.... la verdad es que pocas veces se actualizan las fotografías en comparación con las veces que se presentan en el nvaveador.... aunque quisiera tener esa utilidad.... ya que cada cierto tiempo se pueden actualizan....por lo menos una vez al año.

Gracias

Por FJPL

1 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.