我正在尝试使用 php api 将 Github 存储库下载为 zip。谁能帮我解决这个问题?
问问题
2241 次
3 回答
4
你可以试试
file_put_contents("master.zip",
file_get_contents("https://github.com/{group}/{project}/archive/master.zip")
);
但请确保allow_url_fopen
已设置php.ini
,然后您可以轻松使用file_get_contents()
于 2013-08-03T08:29:47.420 回答
1
您可以组合这两个拼图:
php下载文件:https ://stackoverflow.com/a/3938551/2536029
github 拉链:https ://github.com/ $USER/$REPO/archive/$BRANCH.zip 例如https://github.com/bpowers/psm/archive/master.zip
于 2013-08-03T08:18:39.670 回答
1
首先,使用这种格式构建一个 URL: https ://api.github.com/repos/:owner/:repo/:archive_format/:ref
然后,使用 curl 访问该 URL,但不要忘记:
- 主动关注位置 (CURLOPT_FOLLOWLOCATION),设置为 true。
- 分配用户代理 (CURLOPT_USERAGENT),例如“Mozilla/5.0 (Windows NT 5.1; rv:23.0) Gecko/20100101 Firefox/23.0”。
- 如果存储库是私有的,请使用您的用户名和密码(或令牌)进行身份验证,将 CURLOPT_USERPWD 设置为 $youruser.':'.$yourpassortoken。
- 您可以使用 CURLOPT_FILE 直接下载到文件,只需将该选项设置为使用 fopen($filename, 'w') 创建的先前打开的文件指针。
抱歉,没有示例代码,但说明很清楚。有用。
于 2018-04-24T01:39:21.223 回答