php - 使用 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);
解决方案
从您的代码中删除CURLOPT_RETURNTRANSFER => true
或将其放在CURLOPT_FILE
.
这称为交互,因为CURLOPT_FILE
取决于CURLOPT_RETURNTRANSFER
设置。
推荐阅读
- ruby-on-rails - 为什么设计注册编辑操作不需要参数?
- react-native - 在 react native 项目中,您在哪里设置 AWS pinpoint 的凭证配置?
- java - 检索目录中的文件名时出现问题
- office-js - 自定义函数的数据验证列表
- javascript - 对象操作(分组)
- r - 如何在没有特定日期且不超过 24 小时的情况下添加 lubridate 小时数?
- tabulator - 为什么在我单击标题之前分组不会激活,尽管在表构造函数中有 groupBy
- javascript - ReactJS - 来自网络摄像头的视频流不起作用
- php - 第一次加载页面后如何避免警报
- react-navigation - dangerouslyGetParent - 如果嵌套,则永远不会给出虚假信息