Como posso ler um arquivo .tar.gz com PHP?

Estou construindo um sistema para as pessoas fazerem o upload de arquivos .tar (e .tar.gz, .tar.bz2, .zip, etc) no PHP. O upload dos arquivos é bom, mas eu gostaria de listar os arquivos contidos no arquivo morto após o upload.

Alguém pode recomendar uma boa biblioteca PHP que possa ler arquivos compactados?

eu encontreiArquivo_Arquivo no Pear, mas não é atualizado há alguns anos. O ZipArchive funciona muito bem para arquivos .zip, mas preciso de algo que possa lidar com mais tipos de arquivos.

atualizar Estou executando no RHEL6, PHP 5.2 e Apache 2.2.

questionAnswers(5)

yourAnswerToTheQuestion