Si buscas en el foro/FAQ's o en google por el término "Thumbnails" veras muchas soluciones para tu problema.
En sitios como
www.phpclasses.org encontraras también classes para gestión de imagenes (no sólo para escalar una imagen .. también para otras cosas).
Y por supuesto .. en la documentación oficial de PHP tienes también ejemplos. Se basan en el uso de las librerías GD:
www.php.net/gd
Un saludo,