0

使用 PHP 将 GitHub 存储库的文件下载到目录中的最佳方法是什么。

我曾尝试下载 zipball 并将其解压缩,但我正在努力寻找一种解压缩 zip 文件的好方法。

4

2 回答 2

1

依赖管理

使用作曲家

Composer 是一个 PHP 的依赖管理工具(类似于 node 的 npm)。 如果您还没有使用它,访问http://getcomposer.org/并阅读 composer。

程序化下载和解压

既然您已经提到您已经能够下载 zip 文件,我将专注于提取它。如果您正在使用 composer(就像您应该使用的那样),您可以在https://packagist.org上搜索包存储库。快速搜索zip给了我一堆结果,从功能齐全的存档管理库到简单的解压缩实用程序。 这个似乎很容易使用,并且可能会成功。

// https://github.com/vipsoft/Unzip/blob/master/README.md

use VIPSoft\Unzip\Unzip;

$unzipper  = new Unzip();
$filenames = $unzipper->extract($zipFilePath, $extractToThisDir);

PHP 5.2.6 中的程序化下载和解压

感谢这个问题,我了解了PHP 5.2.0 中引入的PHP 的zip扩展。

看起来使用 zip 会遵循类似于以下代码的内容

$zip = new ZipArchive;
if (true === $zip->open($archiveFileName)) {
    $zip->extractTo($destination);
    $zip->close();
} else {
    // handle error
}

希望您的客户也不会反对安装 php zip 扩展。

于 2013-09-12T14:40:59.243 回答
0

只需下载 zipball 并使用类似的东西,或命令行工具(例如unzip(大多数系统上存在))。

于 2013-09-12T14:29:11.900 回答