public function downloadArchive()

in src/Utils/Project.php [75:100]


    public function downloadArchive($name, $url, $dir = '')
    {
        $tmpdir = sys_get_temp_dir();
        $file = $tmpdir . DIRECTORY_SEPARATOR . basename($url);
        file_put_contents($file, file_get_contents($url));
        $dir = $this->getRelativeDir($dir);

        if (substr($url, -3, 3) === 'zip') {
            $zip = new \ZipArchive();
            if ($zip->open($file) === false) {
                $this->errors[] = 'Failed to open a zip file: ' . $file;
                return;
            }
            if ($zip->extractTo($dir) === false) {
                $this->errors[] = 'Failed to extract a zip file: ' . $file;
                $zip->close();
                return;
            }
            $zip->close();
        } else {
            $phar = new \PharData($file, 0, null);
            $phar->extractTo($dir, null, true);
        }
        unlink($file);
        $this->info[] = 'Downloaded ' . $name . '.';
    }