Jul 20, 2023

PEAR class to manipulate tar, gz, tgz, bz2, tbz, zip, ar (deb) files

PEARFile_Archive is strongly object oriented. It makes it very easy to use, writing simple code, yet the library is very powerful.

It lets you easily read or generate tar, gz, tgz, bz2, tbz, zip, ar or deb archives to files, memory, mail or standard output.

Pear File_Archive is a FreeBSD port that falls under the Archivers category. This port is a valuable tool that caters to the archiving requirements of FreeBSD users. It enables users to manage and manipulate a broad range of archive formats. It does not only cater to the usual ZIP and TAR files but can help you interact with a variety of other formats.


Pear File_Archive is a part of the PHP Extension and Application Repository PEAR. PEAR is a framework and distribution system extensively used by the PHP community. File_Archive provides an interface for users to manipulate archives using PHP.

File_Archive supports reading, writing and modifying a large list of archive formats including Tar, Gzip, Bzip2, Zip, Lzop, rar, 7zip, Ar, and others. You can use it to extract files from an archive, create new archives, or modify existing archives. The package also supports the reading and writing of files on FTP servers or HTTP URLs.

One of the main attractions of File_Archive is that it provides a unified API to work with archives, making it suitable for users regardless of their familiarity with different archive formats.


To install the Pear File_Archive on your FreeBSD system, you first need to make sure that you have the FreeBSD Ports Collection installed on your system. If you don’t, you can get it by using the following command

portsnap fetch extract

Having done that, you can install File_Archive by navigating to its directory in the Ports Collection and running the make install clean command. Here’s how you do it

cd /usr/ports/archivers/pear-File_Archive/ && make install clean

After the installation is complete, you can include the File_Archive package in your PHP scripts with the following command

require_once "File/Archive.php";


Using Pear File_Archive is very straightforward. The basic usage can be summarized in three steps selecting sources, applying operations, and defining the destination.

Selecting Sources

To select a source, you will use the select method. Here’s an example of selecting a directory

$src = File_Archiveread'path/to/my/directory/';

Applying Operations

There are a variety of operations you can apply on a source. Here’s an example of compressing a source file to ZIP format

$src = $src->makeWriterFile_ArchivetoArchive'', File_ArchivetoFiles;

Defining the Destination

Finally, you define the destination by using the extract function. Here’s how you can do this

File_Archiveextract$src, File_ArchivetoFiles;

The above line of code will result in being written to the current directory.


The primary advantage of using Pear File_Archive is the convenience it offers due to its unified API. Because of this unified API, you can easily manage multiple archive formats with the same set of operations.

The ability to manage on the fly creation of archives is another major advantage. If you are working on a project where you need to serve files as a ZIP archive on a web page, File_Archive can create these archives dynamically, eliminating the need for temporary storage.

Lastly, if you are working with an application that deals with content from FTP servers or webpages, File_Archive got you covered.


Pear File_Archive is a versatile and powerful tool for managing archives in FreeBSD. It provides a uniform way to manipulate a wide variety of archive formats. It’s suitable for beginners and advanced users alike due to its simplicity and the flexibility it provides.

FreeBSD has an ample collection of useful ports in its Ports Collection besides File_Archive. For instance, those interested in IT security will find worthwhile the port [nmap]https// Its role is scanning networks for auditing or troubleshooting purposes. If you haven’t yet, take the time to explore the FreeBSD Ports Collection. You’ll be surprised at how much easier your tasks can become.

Remember, in the world of FreeBSD, you are only as powerful as the tools you use. Pear File_Archive is undoubtedly such a tool. It supports a lot of formats; it provides a unified API and is easy to use, making it an outstanding choice for working with archives.

Checkout these related ports:
  • Zutils - Utilities for searching in bzip2, gzip, lzip, and xz archives
  • Zstr - C++ header-only ZLib wrapper
  • Zstd - Fast real-time compression algorithm
  • Zpaqfranz - Swiss army knife for the serious backup manager
  • Zopfli - Zopfli Compression Algorithm
  • Zoo - Manipulate archives of files in compressed form
  • Zlib-ng - Fork of the zlib data compression library
  • Zipper - Tool for inspecting the contents of a compressed archive
  • Zipmix - Produce .ZIP file from two other ones with the best compressed files
  • Zip - Create/update ZIP files compatible with PKZIP
  • Zchunk - Compressed file format that splits the file into independent chunks
  • Xpk - The eXternal PacKer (XPK) library system
  • Xmill - Efficient compressor for XML
  • Xdms - Tool for decompressing Amiga DMS files
  • Xarchiver - Desktop-agnostic GTK frontend to various archiving tools