首页 > 解决方案 > 使用 php 下载 git repo

问题描述

在用户执行操作之后,我想从 github 下载存储库文件。该代码将无法按预期工作。代码运行时会创建一个.zip文件,但生成的 zip 文件是空白的。我该如何解决这个问题?

$url = "https://github.com/$u/$repo/archive/master.zip";
$ch = curl_init();
    $f = fopen(__DIR__.'/master.zip', 'w+');
    $opt = [
        CURLOPT_URL => $url,
        CURLOPT_FILE => $f,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_BINARYTRANSFER => true,
        CURLOPT_HEADER => false,
        CURLOPT_SSL_VERIFYHOST => false,
        CURLOPT_SSL_VERIFYPEER => false,
    ];
    curl_setopt_array($ch, $opt);
    $file = curl_exec($ch);

    curl_close($ch);
    fclose($f);

标签: phpcurlgithubdownload

解决方案


从您的代码中删除CURLOPT_RETURNTRANSFER => true或将其放在CURLOPT_FILE.

称为交互,因为CURLOPT_FILE取决于CURLOPT_RETURNTRANSFER设置。


推荐阅读