class.upload.php is a powerful and mature PHP class to manage uploaded files, and manipulate images in many ways. The script is available under a GPL license.
more info about the class
Try to do a phpinfo(), and in the section GD, you should have a line PNG support. On the same line, it should say Enabled