Хорошо, я проверил http://pear.php.net/package/Archive_Zip как опубликовано Irmantas,
но это говорит об этом:
«Этот пакет больше не поддерживается и был заменен. Пакет перемещен на канал pecl.php.net, пакет zip».
Тогда я искал pear.php.net и наткнулся на:
http://pear.php.net/package/File_Archive
File_Archive не имеет очень интуитивно понятного набора методов.
Но я хотел простую функциональность создания файла tar, и
извлечение файлов из файла tar.
Следующие фрагменты достигают этого:
Извлечение файлов из файла tar ->
<?php
require_once "File/Archive.php";
$tmp = 'output';
$t1 = 'check.tar';
File_Archive::setOption('tmpDirectory','tmp');
$r = File_Archive::extract(
File_Archive::read($t1.'/'),
File_Archive::toFiles($tmp)
);
?>
Добавление файлов в файл tar ->
<?php
require_once "Archive.php";
$dir = "../../mysql/data/blackStone/";
$files[0] = "";
$i = 0;
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false ) {
if( $file != "." && $file != ".." )
$files[$i++] = $dir.$file;
}
}
File_Archive::extract(
$files,
File_Archive::toArchive(
'check.tar',
File_Archive::toOutput()
)
);
?>