ÂÂ Â// open an existing phar
ÂÂ Â$p = new Phar('coollibrary.phar', 0);
ÂÂ Â// Phar extends SPL's DirectoryIterator class
ÂÂ Âforeach (new RecursiveIteratorIterator($p) as $file) {
ÂÂ Â Â Â// $file is a PharFileInfo class, and inherits from SplFileInfo
ÂÂ Â Â Âecho $file->getFileName() . "\n";
ÂÂ Â Â Âecho file_get_contents($file->getPathName()) . "\n"; // display contents;
ÂÂ Âif (Phar::canCompress(Phar::GZ)) {
ÂÂ Â Â Â Â Â$p[$file->getFileName()]->compress(Phar::GZ);
ÂÂ Â Â Â}
ÂÂ Â}
and then i wrote a java class to extract the data in the phar(coollibrary.phar),i could get the ÂcompressedÂtype(zlib) , the hash code , the file's compressed and unÂcompressedÂsize ,and theÂcompressed
content.it is important to notice it is not a "gz" file,and it is possible not all files in the phar are compressed.
so i need to check the files one by one,and then decompress theÂcompressedÂfiles one by one.
is there any existing method to use.or i have to find the compress/uncompress algorithm andÂuncompress the file myself?
thank you for your answer.
and hint will beÂappreciated:)