Hi,
1. There is a way to find out about height and width of an image. You have to have gd, etc installed, then you could use imagesx or imagesy to find out about the size. Check the php manual for this Image Functions
2. The script is pretty insecure, you will have to introduce some kind of validation to verify size and type of the file. The extension on it's own is just a hint. I could append .jpg to any executable or code file. The file header normally contains the info needed to classify the file. Retrieve them and validate them against your restrictions. You could start here Filesystem Functions.
3. 755 should be enough since it is the webserver that is writing the file to the filesystem and he normally should own directories in wwwroot and descendants.
Hope this helps
best regards
gaucho