Un paio di settimane fa ho scritto un metodo che fa il ridimensionamento percentuale, sfruttando la funzione getimagesize(), come risposta in un altro post.

Se cerchi nel forum trovi la mia risposta.