TravauxCe wiki traite principalement de mes travaux scientifiques et techniques, ainsi que de mes projets personnels.
Revenir au site de Benjamin Billet
Ceci est une ancienne révision du document !
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');
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