Respecto al script, parece que funciona. Lo he probado con archivos levemente más grandes de lo permitido, y efectivamente me sale el mensaje indicando que hay que reducir la imagen.
Pero...
No he podido meter el archivo en el php.ini de mi host. La razón: sólo tengo acceso a la carpeta http, no al directorio raiz (mi servicio de host me impone esa limitación). Si la imagen ya sobrepasa los (aproximadamente) 2.5 megas, la foto no sube. O bien sale el mensaje de error mencionado antes, o bien directamente no se sube nada y se queda la página como está.
Necesito otra manera de aumentar ese límite de memoria. No sé si estoy pidiendo un imposible