A simple PHP script that I picked up from stackoverflow generates a PNG with a transparent background, writes some text on it then directly outputs it to the client browser:
Browser will use the filename from the URL as the default value in the "Save as..." dialog. You can type another name of course or save the file using the suggested name (text.php) and rename it afterwards.
You can use the Content-disposition header to "suggest" a filename to the browser. Here is an example:
header("Content-type: image/png");
header("Content-disposition: inline; filename=mytext.png");
inline
suggests that browser should attempt to display the image. Change it to attachment
to suggest that the browser should display the "Save as..." or similar dialog.filename=
should contain the filename of your choice.