dovrò fare a breve una cosa simile, e credo che userò questa classe:

http://www.phpclasses.org/browse/package/2037.html