Si se puede todo esto mediante la Libreria GD de PHP
te paso una funcion que te redimensiona una imagen, trabaja con la libreria GD2 de PHP verifica que la tengas instalada
Código PHP:
/**
*Parametros que recibe
*source : archivo fuente de la imagen
*dest : archivo destino
*destWidth : ancho de la imagen de destino
*destHeight : alto de la imagen de destino
*/
function redimensionarImagen($source, $dest, $destWidth, $destHeight) {
$imagetype = array (1 => 'GIF', 2 => 'JPG', 3 => 'PNG');
$imginfo = getimagesize($source);
if ($imginfo == null) {
$error = "ERROR: El archivo fuente no se encontro!";
return false;
}
$imginfo[2] = $imagetype[$imginfo[2]];
// ancho/alto del archivo fuente
$srcWidth = $imginfo[0];
$srcHeight = $imginfo[1];
// Verifica que existan las funciones GD2
if (!function_exists('imagecreatefromjpeg')) {
$error = "la libreria de GD2 de imagenes no esta instalada!";
return false;
}
if (!function_exists('imagecreatetruecolor')) {
$error = "No existe la funcion imagecreatetruecolor de la libreria GD2 de imagenes!";
return false;
}
if ($imginfo[2] == 'JPG')
$src_img = imagecreatefromjpeg($source);
else
$src_img = imagecreatefrompng($source);
if (!$src_img) {
$error = "imagen no válida!";
return false;
}
$dst_img = imagecreatetruecolor($destWidth, $destHeight);
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $destWidth, $destHeight, $srcWidth, $srcHeight);
imagejpeg($dst_img, $dest, "80");//Ojo: el 80 es la calidad de la imagen
imagedestroy($src_img);
imagedestroy($dst_img);
// Se cambian los permisos del archivo
chmod($dest, octdec('777'));
// Se verifica que la imagen es valida
$imginfo = getimagesize($dest);
if ($imginfo == null) {
return false;
} else {
return true;
}
}
Espero te sirva nos vemos y saludos