Código PHP:
//REDIMENSIONAR IMAGEN MAS GRANDE
function redimension($ruta_imagen, $img_nueva, $ancho_final, $calidad){
//Cargo en memoria la imagen que quiero redimensionar
$img = imagecreatefromJPEG($ruta_imagen);
//Obtengo el ancho de la imagen quecargue
$ancho_original = ImageSX($img);
//Obtengo el alto de la imagen que cargue
$alto_original = ImageSY($img);
//SI QUEREMOS UN ANCHO FINAL FIJO, calculamos el ALTO de forma proporcionada
//$ancho_final = 500;
//Ancho final en pixeles
$alto_final = ($ancho_final / $ancho_original) * $alto_original;
//SI CONOCEMOS UN ALTO FINAL FIJO, calculamos el ANCHO de forma proporcionada
//Para usar este caso, comentar las dos lineas anteriores, y descomentar las dos siguientes a este comentario
/*$alto_final = 250; //Alto final en pixeles
$ancho_final = ($alto_final / $alto_original) * $ancho_original;*/
//Creo una imagen vacia, con el alto y el ancho que tendrá la imagen redimensionada
$imagen_redimensionada = imagecreatetruecolor($ancho_final, $alto_final);
//Copio la imagen original con las nuevas dimensiones a la imagen en blanco que creamos en la linea anterior
imagecopyresampled($imagen_redimensionada, $img, 0, 0, 0, 0, $ancho_final, $alto_final, $ancho_original, $alto_original);
//Guardo la imagen ya redimensionada
imageJPEG($imagen_redimensionada, $img_nueva, $calidad);
//Libero recursos, destruyendo las imágenes que estaban en memoria
imageDestroy($img);
imageDestroy($imagen_redimensionada);
}
Pero obtener el tamaño como ya te dijeron, solo despues de subirla, o bien como te indicaron en Javascript o AJAX, o JQUERY
http://www.bufa.es/jquery-ancho-alto-originales/