puoi usare una classe apposta oppure elaborare il file inviato prima di salvarne la versione finale in locale... in pratica puoi modificare il file uploadato e salvarne una versione a risoluzione ridotta o lasciare quella originale, ma abbassando la risoluzione ogni qual volta viene visualizzata con una modifica al volo.

Nel primo caso agisci nello script che elabora l'upload.
Nel secondo devi far puntare il tag IMG non al file originale ma ad uno script PHP cui passi come parametro un qualche identificativo dell'immagine originale (o anche il path completo).

In entrambi i casi puoi usare una classe specifica o alcuni comandi di elaborazione "interni" (librerie GD) senza "installare"... puoi vedere sul manuale il comando "imagecreatefromjpeg" e gli altri collegati.