首页 文章

使用php下载git repo

提问于
浏览
1

我想在用户执行操作后从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);

1 回答

  • 2

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

    这是known interaction,因为 CURLOPT_FILE 取决于 CURLOPT_RETURNTRANSFER 被设置 .

相关问题