7

Ok, just wondering on the versions of PHP that this class is built into. And if they are built into all platforms (OS's). I'm wanting an approach to search through a zip file and place files using file_put_contents in different filepaths within the webroot. In any case, I'm familiar with how to do this with the ZipArchive class, but I'm wondering if using this class would be a good solution and support MOST, if not ALL servers?? I mean, I'd rather not use a method that requires the Server to have it installed. I'm looking for a solution to this that will support at least MOST servers without having to install the class...

Thanks :)

Also, I'd like to support opening tar.gz and/or .tgz files if possible, but I don't think the ZipArchive class supports this, but perhaps a different built-in php class does??

SoLoGHoST
  • 2,673
  • 7
  • 30
  • 51

1 Answers1

11

Tar support is not built into PHP, but if you have a look at the PEAR library you should be able to find some classes that support creating/extracting tarballs (amongst others). Have a look at http://pear.php.net/package/Archive_Tar or http://pear.php.net/package/File_Archive. The last one should be a generic interface to multiple archiving formats (including ZIP and TAR).

Whether or not ZIP support is built-in may vary, though I guess most packagers will include it. Then again, you could always test it by checking if the ZipArchive class exists by calling class_exists('ZipArchive'); and show a nice error message or fall back to a more generic approach...

wimvds
  • 12,790
  • 2
  • 41
  • 42
  • Ok, thanks I guess, you've been very helpful, though I'm still searching for a generic approach to this that will satisfy all versions of php, or MOST versions of php. – SoLoGHoST Apr 30 '10 at 12:41
  • Well, if you use the PEAR classes in your project (you can include these with your project) you have a generic approach that will work on most versions of PHP. Just download and extract the tarball and put the files somewhere in your path... – wimvds May 04 '10 at 07:43