Puoi usare le librerie GD, tuttavia non è possibile ridimensionare DURANTE l'upload. Il file viene prima caricato sul server (quindi devi impostare le opzioni nel php.ini per permettere il caricamento di file grandi) e poi, tramite php e gd, ridimensioni l'immagine prima di salvarla sul server.

Ciao