Comparte en Facebook Twitter Google+

Ya sabemos como subir y almacenar imágenes pero siempre es útil crear pequeñas imágenes o “thumbnails”, ya sea para mostrar productos, fotos de perfil, álbum de fotos, entre otros. hoy aprenderemos como  crear un simple thumbnail.

Primero la base de datos, vamos a crear  el modelo y la migración.

Nota: cuando creamos nuestro modelo con artisan automáticamente Laravel nos crea la migración.

El modelo quedaría:

Y la migración “create_thumbnails_table” quedaría:

Recuerda instalar tu migración:

Ahora,  vamos a crear el controlador ThumbnailController

Creamos la ruta que apunte al Controlador:

Creamos la vista thumbnailForm con el formulario:

Luego colocamos el llamado a la vista en la función create  del controlador:

Puedes ir viendo que la aplicación va bien, dirígete a la url: nombre_de_tu_aplicacion/thumbnail/create   donde se mostrará el siguiente formulario:

Ahora bien, ya tenemos el formulario y la base de datos está perfecta, ahora vamos a subir las imágenes, pero antes que nada sería buenos instalar la librería Intervention.image que nos permite cambiarles el tamaño. Para ello debemos:

En la consola:

Agregar a los Providers en ‘config/app.php‘:

Agregar el alias:

Y por último de nuevo en la consola:

Listo, ahora podemos utilizar todas las funciones que nos ofrece, por ahora vamos a usar los métodos save() y resize(). La función store de nuestro controlador, quedaría:

Perfecto, ya podemos guardarlas, ahora vamos a pasar toda la información a la vista, la función index del controlador quedaría de la siguiente manera:

Excelente, ahora a crear la vista donde mostraremos el thumbnail. Para ello utilizaremos uno de los componentes que nos ofrece bootstrap, bootstrap-thumbnail:

Nota: la plantilla extiende de nuestra vista “app” que viene por defecto.

Listo, luego de cargar varias imágenes veremos nuestro resultado. Url: nombre_de_tu_aplicacion/thumbnail/

 

Aprende PHP, Laravel y más por sólo 999 al mes: ver planes.

Lección anterior Envio de correos con Mailgun en laravel 5 Lección siguiente Restaurar registros borrados con Eloquent en Laravel 5