protected function _archive($dir, $files, $name, $arc)
{
$cwd = getcwd();
chdir($dir);
$files = array_map('escapeshellarg', $files);
$cmd = $arc['cmd'] . ' ' . $arc['argc'] . ' ' . escapeshellarg($name) . ' ' . implode(' ', $files);
$this->procExec($cmd, $o, $c);
chdir($cwd);
$path = $dir . DIRECTORY_SEPARATOR . $name;
return file_exists($path) ? $path : false;
}