First off you can't create an actual circular image. Images stored on computers use hight and width values that cause the actual image to be a square/rectangle.
Besides that you could write a script to designate a circle in the middle of an image and then turn any pieces of the image outside of that circle transparent.
Sorry I don't have any code available to help you, but it souldn't be to hard once you get the circle drawn. You will need to have teh GD library installed, and know how to use the Image functions (http://download.php.net/manual/en/ref.image.php). Take a look at ImageFillToBorder it'll probably do what you want, once you get your circle drawn.