The Archive_Tar class is brought to you by PEAR, the PHP Extension and Application Repository (http://pear.php.net). In case you didn't know, PEAR is an online repository of free PHP software, including classes and modules for everything from data archiving to XML parsing. When you install PHP, a whole bunch of PEAR modules get installed as well; the Archive_Tar class is one of them. In case your PHP distribution didn't include Archive_Tar, or if you chose not to install the PEAR component, you can get yourself a copy from the official PEAR Web site, at http://pear.php.net - simply unzip the distribution archive into your PEAR directory and you're ready to roll! Let's begin with something simple - packing a bunch of files into a single TAR archive with Archive_Tar object methods (this tutorial uses Archive_Tar 1.11).
This is a pretty simple script, but I'll hit the high points anyway: 1. The first step, as always, is to include the required class file in your script.
You can either provide an absolute path to this file, or do what most lazy programmers do - include the path to your PEAR installation in PHP's "include_path" variable, so that you can access any of the PEAR classes without needing to type in long, convoluted file paths. 2. The next step is to instantiate an object of the Archive_Tar class.
Note that the object constructor requires, as argument, the name of the TAR file to be created. You can include a path here as well if you would like the file to be created in a location other than the current directory. 3. Third, you need to tell the newly-created object which files to include in the archive. This information is provided to the object's create() method as an array of file names.
Obviously, you should replace the file list in the example above with information that reflects your own system. If Archive_Tar cannot locate any of the files specified in the file list, it will simply skip over it to the next one. Note that the create() method will replace a previously-existing file with the same name. If you don't want this to happen, you should wrap your call to create() in a file_exists() test. Once you run this script through your browser, you'll see that a file named "data.tar" appears in the same directory as the script.
This is the TAR file created by the lines of code above. If you examine this file with the "tar" command, you'll see that it contains all the files specified in your PHP script.
blog comments powered by Disqus |