Pharを使えばPHP上でシステムのコマンド叩いたりしなくてもtarアーカイブファイルを作成できる。
data.txt
をアーカイブするサンプル。中身はLorem Ipsumを71KB分。gzip圧縮を用いる。
<?php
$tarPath = __DIR__ . '/data.tar';
$phar = new PharData($tarPath);
// -rw-r--r-- 1 fivestar fivestar 71K Apr 2 17:16 data.txt
$phar->addFile('data.txt');
$phar->compress(Phar::GZ, '.tgz');
// *.tar と *.tgz ができるので、 .tar は消す
unlink($tarPath);
アーカイブファイルを展開した結果。
% tar xvf data.tgz
data.txt
% ls -l
total 96K
-rw-r--r-- 1 fivestar fivestar 20K Apr 2 17:25 data.tgz
-rw-r--r-- 1 fivestar fivestar 71K Apr 2 17:25 data.txt