Since I've not had any answers, and a week's worth of googling has returned nothing (other than one php open source project that's good, but we don't support php in-house) I'm going to go ahead and write my own.
If it's any good, and my boss does not object, I'll open source it.
If anyone else happens to come up with an answer to this, I will change and accept your answer if it works.
David Stratton
2010-06-02 12:17:24