Cargue, cambie el tamaño y recorte el centro de la imagen con PHP

Quiero crear un script PHP muy básico para subir, redimensionar y recortar. La funcionalidad para esto será idéntica (la última vez que lo verifiqué de todos modos) al método que usa Twitter para cargar imágenes de avatar.

Quiero que el script tome una imagen de cualquier tamaño, cambie el tamaño del lado más corto a 116 px, luego recorte la parte superior e inferior (o el lado izquierdo y derecho si es horizontal) para obtener un cuadrado de 116 px por 116 px.

No quiero un script PHP hinchado con cambio de tamaño del lado del cliente ni nada, solo un simple cambio de tamaño y recorte de PHP. ¿Cómo se hace esto?

Respuestas a la pregunta(4)

Su respuesta a la pregunta