public function unpackPluginArchive($archive, $dir)
{
$extension = pathinfo($archive, PATHINFO_EXTENSION);
try {
if ($extension == 'zip') {
$zip = new \ZipArchive();
$zip->open($archive);
$zip->extractTo($dir);
$zip->close();
} else {
$phar = new \PharData($archive);
$phar->extractTo($dir, null, true);
}
} catch (\Exception $e) {
throw new PluginException('アップロードに失敗しました。圧縮ファイルを確認してください。');
}
}