As long as you know the file format then php can generate absolutely anything because at the end of the day all it does is process information and vomit out bytes, whether it be writing them to a local disk or pumping them down the electric drainpipe as a download, given the right headers.
Whatever formats you need may not always be supported natively, but if you really need the format see if somebody has written a class for it, or write your own.