PHPackman (pronounce pacman) is a very simpe library for packaging a PHP application into a single self-extracting PHP file.
The generated archives are PHP files that contains multiple files (compressed or juste base64-encoded) and the code required for rebuilding the hierarchy of files.
The archive is perfectly autonomous, the PHPackman library is only required to build the archive.
Note: Compression requires the ZipArchive class ZipArchive class (PHP 5 >= 5.2.0).
// prepare a compressed archive which will be deployed into a folder called "output_folder" // at the end of the extraction, the browser will be redirected to "after_install.php" $phpackman = phpackman_create('output_folder', true, 'after_install.php', '0777'); // add files and folders phpackman_add_file($phpackman, 'aFile'); phpackman_add_file($phpackman, 'aFile', 'aVirtualFolder/aFile'); phpackman_add_folder($phpackman, 'aFolder'); phpackman_add_folder($phpackman, 'aFolder', 'anotherVirtualFolder'); // build the archive and write the content into "archive_name.pack.php" phpackman_build($phpackman, 'archive_name.pack.php');
Note: For OOP addicts, a wrapper is provided with the library. See the source code for more information.
The source code is available on BitBucket under the licence Creative Commons Attribution 4.0 International (CC BY 4.0) : https://bitbucket.org/bbillet/phpackman