Para crear una miniatura al subir una imagen lo haremos de la siguiente forma:
$destinationPath = "images/countries/" . Auth::user()->country_id;
if(!File::exists($destinationPath)) {
File::makeDirectory($destinationPath, $mode = 0777, true, true);
}
$filename = date("YmdHis") . str_random(3) . '.' . $file->getClientOriginalExtension();
$file->move($destinationPath, $filename);
$destinationThumbPath = "images/countries/" . Auth::user()->country_id . '/thumbnails';
if(!File::exists($destinationThumbPath)) {
File::makeDirectory($destinationThumbPath, $mode = 0777, true, true);
}
$img = Image::make($destinationPath . '/' . $filename);
if($img->width() > $img->height()){
$img->resize(640, null, function ($constraint) {
$constraint->aspectRatio();
});
}else{
$img->resize(null, 480, function ($constraint) {
$constraint->aspectRatio();
});
}
$img->save($destinationThumbPath . '/' . $filename);

