Hola
Aqui tienes información de como hacerlo
http://www.php.net/manual/es/features.file-upload.php.
Para comprobar las dimensiones de la imagen debes utilizar la función getImageSize()
Para asignar un nombre a la imagen que no exista en el directorio debes utilizar la función tempnam()
Con esto y un poco de maña seguro que lo haces.
Si tienes alguna duda puedes mandar el codigo que has realizado y podemos ver los posibles problemas.